在问题#1至#4 乔尔测试在我看来都是关于正在使用的开发工具和开发人员到位的支持系统:
- 你使用源代码控制?
- 你可以在一步进行构建?
- 你做每日构建?
- 你有一个bug数据库?
我只是好奇,对于那些没有大量银行账户使用,以实现对这些问题的正面回答小店铺发展存在什么免费/便宜(但良好的)工具。
对于源代码控制我知道Subversion是一个很好的解决方案,如果你是一个人的店,你甚至可以使用SourceGear的跳马 。
我用楠对我的更大的项目,但还没有建立一个脚本来建立我的安装以及运行obfusication工具都为一个单一的步骤。 任何其他的建议?
如果你能在一个步骤回答是肯定的建筑,我想创建每日构建是容易的,但你会推荐什么样的工具进行日常的自动化构建?
对于一个或两个人的球队,它已经在SO讨论,你可以使用的FogBugz点播,但存在什么其他的bug跟踪解决方案的小团队?
Answer 1:
- 源控制: 颠覆或水银或GIT中
- 构建自动化: 楠 , MSBuild的 , 耙 , Maven的
- 持续集成: CruiseControl.NET或连续或詹金斯
- 问题跟踪: Trac系统 , Bugzilla的 , 双子座 (如果它必须是.NET和自由ISH)
不要忘了自动化测试NUnit的 , 飞度 ,和华廷 。
Answer 2:
1) 的Subversion
2) 蚂蚁 / Maven的
3) 连续
4) 的Bugzilla / Trac的
Answer 3:
我的首选堆:
1)颠覆。 我很好奇有关分布式源控制,但还没有机会去尝试任何愤怒呢。 对于集中式解决方案SVN是坚如磐石。
2)蚂蚁。 Maven是使用时,它的工作,但作为一个老蚂蚁黑客我找行家是难以遵循,一旦出问题喜悦。
3)哈德森。 迄今尚未提及,但绝对值得调查。 令人难以置信的是可用的和积极的维护工具。 以前我们支付垤临这似乎古怪,是痛苦的每次搞砸了时间修复。
4)我们将支付JIRA。 不便宜,但比我们看着也很灵活也开源选项更有用。
Answer 4:
我的工程堆栈:
- Git的(我爱GitHub上,但Git不会需要一个托管解决方案)
- 耙
- CruiseControl.rb
- FogBugz的
毫无疑问,这些选择是由我的开发堆栈,其中大部分通常包括红宝石,Rails的,SQLite的,Firefox和OSX的影响。
Answer 5:
你可能想看看我的一个存在的问题为寻找替代组队系统 。 有很多的建议,在那里也。
Answer 6:
- 混帐
- 使
- 克龙
- TRAC
我几个音节的人;-)
一定要使用某种版本控制,开发人员可以轻松地创建私有分支不管三七二十一,然后把他们的私有分支和挤压成一个单一提交主枝上。 这样一来,个人开发者---而不是组织---可以获得版本控制的好处,而不污染别人的代码(和减慢他们的工作)与破碎的提交。
这个功能是我喜欢的git。 我认为这只是在分布式版本控制系统确实存在; 使用DVCS并不意味着你真正要做的分布式开发,虽然。
对于一步到位的建设,提出的是默认的构建工具,它工作得很好大多数任务。 我会与去,除非你有一个很好的理由不这样做。
你要每日构建,把构建命令将在cron.daily。 建立一个procmail的钩子从cron处理邮件如果需要的话。
对于bug跟踪,使用$(apt-cache search bug tracking)
。 基本上,只要它说:“bug跟踪系统”包装盒上,你知道其他人都在使用它,它可能会很好地工作。 其中的常客是Bugzilla的,螳螂和Trac。
Answer 7:
我没有任何工具的建议,但我有一个建议,关于每日构建。 我总是回答是这个问题,即使我们没有做每日构建。 取而代之的是,我们做的构建每次有人做了承诺。 我们赶上从而几乎马上出现任何问题。 如果我们的任何项目不断有足够的LOC是建筑时间超过琐碎的时间,这样做也将在正常每日构建的方向恶化。
Answer 8:
一个很好的问题跟踪,这是相对便宜的是axoSoft准时 。 我用了年纪MS TFS之前。
南特和CruiseControl的是我的环境的主食。
Answer 9:
我不认为你真的需要.Net的模糊的话( 见另一响应 )
我不会考虑库,SVN是真正的时刻(和自由)的市场领导者。 Git是看起来相当有前途的,但目前仅与一个陡峭的学习曲线的命令行。
的MSBuild击败南特对于.NET 2或3.5
CC.Net非常出色。
Answer 10:
* 4) 管理平台
我建议Bitnami用于测试不同的堆栈。 它有Trac系统,管理平台和Subversion,以及其他几个不相关的。
Answer 11:
检查出使用的MSBuild,CruiseControl.NET,FxCop的,NUnit的,NCover和Subversion的持续集成这些文章...
从软件开发战壕
Answer 12:
我目前使用SVN,但我通常有很多或问题检出到开发服务器上的网络驱动器。 有倾向于锁定需要大量捕捞的周围来解决问题。 这可能是因为使用WebDAV访问方法,将缓解一些问题,但我还没有尝试。
任何的Bugzilla,Trac的FogBugz的或将帮助您与您的bug跟踪,每个提供导出功能,让您可以随时改变主意以后。 另外,如果你能得到你的团队完全购买,时间管理软件也可以得心应手后验尸等(如果大家都积极地充分参与。
Answer 13:
对于构建自动化和持续集成看一看的TeamCity从Jetbrains的 。
它有很多的特点 ,是很一件轻而易举的设置和使用。
如果您使用Visual Studio 2005/2008将直接建立自己的解决方案,而无需额外的脚本(如果构建是你想要的。)
它也将执行单元测试,并收集搭建成功,单元测试的执行时间,等等,等等统计
最重要的是:专业版,是免费为多达20个用户和3个生成代理团队。
Answer 14:
- 源控制:CVS
- 建立GNU化妆
- cron作业,调用的bash脚本
- Bugzilla的
文章来源: Tools to help a small shop score higher on the “Joel Test”