程序设计

专业和发烧友程序员的问答

30
11000行C ++源文件怎么办?
所以我们的项目中有mainfile.cpp这个巨大的文件(是11000行吗?),每当我不得不触摸它时,我都会畏缩。 由于该文件是如此之大且庞大,因此它会不断积累越来越多的代码,我想不出一种使它真正开始缩小的好方法。 该文件已在我们产品的多个(> 10)维护版本中使用并进行了有效更改,因此实际上很难对其进行重构。如果要“简单地”将其拆分为3个文件(例如,一开始),那么将维护版本中的更改合并回来将成为一场噩梦。而且,如果您拆分了具有如此长而丰富的历史记录的文件,则跟踪和检查SCC历史记录中的旧更改会突然变得困难得多。 该文件基本上包含我们程序的“主类”(主要内部工作的调度和协调),因此,每次添加功能时,它也会影响此文件及其每次扩展。:-( 在这个情况下,你会怎么做?关于如何将新功能移动到单独的源文件而不弄乱SCC工作流程的任何想法? (有关工具的注意事项:我们将C ++与一起使用Visual Studio;我们使用AccuRev,SCC但我认为这里的类型SCC并不重要;我们用于Araxis Merge进行文件的实际比较和合并)

10
启用IIS7 gzip
如何使IIS7能够对js和css之类的静态文件进行gzip压缩,以及如何在发送给客户端之前测试IIS7是否对它们进行了gzip压缩?
229 iis  iis-7  compression  gzip 

7
什么是“ android.R.layout.simple_list_item_1”?
我已经开始学习Android开发,并且正在关注一本书中的todolist示例: // Create the array list of to do items final ArrayList<String> todoItems = new ArrayList<String>(); // Create the array adapter to bind the array to the listView final ArrayAdapter<String> aa; aa = new ArrayAdapter<String>( this, android.R.layout.simple_list_item_1, todoItems ); myListView.setAdapter(aa); 我无法完全理解此代码,尤其是以下代码行: android.R.layout.simple_list_item_1

16
运行计划任务的最佳方法
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 今天,我们已经构建了一个控制台应用程序,用于运行ASP.NET网站的计划任务。但是我认为这种方法有点容易出错并且难以维护。如何执行计划的任务(在Windows / IIS / ASP.NET环境中) 更新: 任务示例: 从数据库中的电子邮件队列发送电子邮件 从数据库中删除过时的对象 从Google AdWords检索统计信息,然后在数据库中填写表格。

30
Visual Studio 2012 Web发布不会复制文件
我在VS 2012中有一个Web应用程序项目,当我使用Web发布工具时,它会成功构建,但不会将任何文件复制到发布目标(在本例中为File System)。 如果查看构建输出,则可以看到所有内容都已正确复制到obj \ Release \ Package \ PackageTmp \中,但是在构建输出中看到的是: 4>完成构建项目“ {Project} .csproj”。 4>正在删除现有文件... 4>正在发布文件夹/ ... 4> ========== Build:3成功,0失败,1最新,跳过0 ===== ===== =========发布:1成功,0失败,0跳过========== 即使它说发布成功,在发布的目标目录中也没有文件。 我已经在多个项目中看到过这种情况,有时似乎解决方案/平台配置会导致此问题,但是我无法找到确切的原因。 有没有其他人看到这种情况发生或对如何使其正常工作有想法? 更新: 我可能已经找到了解决方法。我只是再次发生了这种情况,并且在搞乱发布设置。一旦将“设置”选项卡上选择的“配置”更改为另一种配置,然后又返回到该配置,我想使用所有文件开始重新发布。希望将来可以在其他项目中使用。 更新2: 我在Microsoft Connect上发布了一个错误,并在VS Web开发人员团队中得到了开发人员的回音。他说,他们已经在内部版本中解决了此问题,并将尽快发布发布工具的更新,以解决此问题。 更新3: 最近,Visual Studio 2012 Update 2已修复此问题。

8
iOS测试/规范TDD / BDD和集成与验收测试
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 在iPhone上进行行为驱动开发的最佳技术是什么?还有哪些开放源码示例项目可以证明这些技术的合理使用?这是我找到的一些选项: 单元测试 测试::单元样式 OCUnit / SenTestingKit,如《iOS开发指南:单元测试应用程序及其他OCUnit参考》中所述。 示例:iPhoneUnitTests,Three20 抓住 GHUnit Mac版Google工具箱:iPhone单元测试 RSpec样式 猕猴桃(还带有嘲笑和期望) 雪松 Jasmine和UI Automation,如灵巧的iOS接受测试规范中所示 验收测试 硒风格 UI自动化(在设备上工作) UI自动化仪器指南 UI自动化参考文档 Tuneup js-与UIAutomation一起使用的很棒的库。 将用户界面操作捕获到自动化脚本中 可以使用Cucumber(用JavaScript编写)来驱动UI自动化。这将是一个很棒的开源项目。然后,我们可以编写Gherkin来运行UI自动化测试。现在,我只写Gherkin作为注释。 更新:Zucchini框架似乎融合了黄瓜和UI自动化!:) 旧博客文章: Alex Vollmer的UI自动化教程 O'Reilly Answers UI自动化教程 Adi Saxena的UI自动化教程 UISpec与UISpecRunner UISpec是Google Code上的开放源代码。 UISpec具有全面的文档。 FoneMonkey 黄瓜风格 弗兰克(Frank)和伊库克(iCuke)(基于黄瓜与iPhone的对话) 在弗兰克谷歌集团具有比更活动iCuke谷歌集团。 Frank可以在设备和模拟器上运行,而iCuke只能在模拟器上运行。 与iCuke的步骤定义相比,Frank似乎具有更全面的步骤定义集。而且,弗兰克在其Wiki上也有一个步骤定义纲要。 我建议我们合并iCuke和Frank(类似于Merb&Rails合并的方式),因为它们具有相同的共同目标:适用于iOS的Cucumber。 KIF(保持功能)由广场 Zucchini框架使用Cucumber语法编写测试,并使用CoffeeScript进行步骤定义。 加法 OCMock的嘲讽 OCHamcrest和/或Expecta期望 …

18
导航抽屉:如何在启动时设置所选项目?
我的代码运行完美:每次单击导航抽屉中的项目时,都会选中该项目。 当然,我想使用默认片段(主页)启动应用程序,但是Navigation Drawer没有选择该项。如何以编程方式选择该项目? public class BaseApp extends AppCompatActivity { //Defining Variables protected String LOGTAG = "LOGDEBUG"; protected Toolbar toolbar; protected NavigationView navigationView; protected DrawerLayout drawerLayout; private DateManager db = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.base_layout); navigationView = (NavigationView) findViewById(R.id.navigation_view); // set the home/dashboard at startup FragmentTransaction fragmentTransaction …

18
SQL Server查询以获取表中的列列表以及数据类型,NOT NULL和PRIMARY KEY约束
我需要在SQL Server上编写查询,以获取特定表中的列的列表,其关联的数据类型(具有长度)以及它们是否不为null。而且我已经做到了很多。 但是现在我还需要在同一张表中针对一列- TRUE如果该列是主键。 我该怎么做呢? 我的预期输出是: Column name | Data type | Length | isnull | Pk

16
您如何在Visual Studio的项目/解决方案之间共享代码?
我有两个具有一些通用代码的解决方案,因此我想将其提取出来并在它们之间共享。此外,我希望能够独立发布该库,因为它可能对其他人有用。 使用Visual Studio 2008的最佳方法是什么? 一个项目中是否存在多个解决方案? 对于单独的代码,我是否有单独的解决方案? 解决方案可以依赖另一个吗?

9
在Android浏览器中建立链接以启动我的应用程序吗?
是否可以建立一个链接,例如: <a href="anton://useful_info_for_anton_app">click me!</a> 使我的Anton应用启动? 我知道这适用于具有市场协议的Android Market应用程序,但是其他应用程序可以做类似的事情吗? 这是一个将启动Android Market的链接的示例: <a href="market://search?q=pname:com.nytimes.android">click me!</a> 更新: eldarerathis提供的我接受的答案很好用,但我只想提及<intent-filter>标签的子元素顺序有些麻烦。我建议您只是<intent-filter>使用该标签中的新子元素来简化另一个操作,以避免出现我的问题。例如我AndroidManifest.xml看起来像这样: <activity android:name=".AntonWorld" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <intent-filter> <data android:scheme="anton" /> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.BROWSABLE" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity>
229 android 


4
如何创建一个临时目录?
我用来创建tempfile,删除它,并将其重新创建为目录: tmpnam=`tempfile` rm -f $tmpnam mkdir "$tmpnam" 问题是,如果另一个进程X在一个进程之后rm -f X和之前意外执行tempfile,则另一个进程可能具有相同的名称mkdir X。




By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.