小型网络开发公司的设置是什么?
我在一家小型Web开发公司(仅2至3个开发人员)工作,该公司为不同客户(从CMS到电子商务站点的所有项目)进行各种各样的项目。
通常,我们在自己的项目上工作,但有时我们需要一起工作。我们使用subversion作为我们的源代码控制软件,并且站点是使用VS 2008和SQL 2005在.NET中开发的。
在阅读了很多有关单元测试和其他"企业"级编码实践的文章之后,我想知道其他开发人员对那些只需要最少维护且开发时间短的小型项目做什么?
我特别在考虑是否需要进行单元测试等。
解决方案
无论如何,单元测试都是必要的。如果编写代码,则将进行单元测试。我也自己一个人工作。我还在测试。我不知道我以前怎么写过代码。
这是我看待它的方式。我们不一定需要和大个子一样昂贵的工具,但是如果我们想变得大个子,就必须考虑大个子。进行相同的操作,遵循相同的做法。随着需求的增长,获得更好的工具。例如,如果我们执行任何UML图表绘制,则可能不需要任何安全软件。只是白板/纸。但是仍然使用UML。当需求增长时,我们可以考虑获得特殊的软件。
甚至项目管理。只要我们这样做,我们就不必不必要地使用昂贵的工具来跟踪项目。随着需求的增长,我们可以获得专业的软件。
简而言之,做的事情与我们长大时会做的事情相同,但是并不一定需要相同的工具。根据需要进行获取。
编辑:我应该提一下,尽管我们做的某些事情当然取决于我们使用的methodolies /过程。例如,我们是否进行敏捷开发?体积小,我们不一定需要做完全相同的事情。例如,我尝试变得敏捷,但是我显然不配对program :)。我们只需要学习使它们适应需求即可。
我们的开发环境也很小。我们主要进行Java Web开发(某些PHP),以反对.NET或者其他。我们为Wiki,svn和错误跟踪系统使用Project Locker。对于代码开发,在Netbeans 6.1与Eclipse和MySQL作为我们的数据库后端之间有所不同。
我们已经为编写代码的单元测试成为标准做法。 4个月后,这使得升级我们的代码库变得非常容易。
我认为我们可能会犯的最大错误是因为成为"企业"级编码标准而忽略了某些东西。尽管诸如CI,构建服务器,单元测试,编码标准(我想我们可能还想说)等东西可能会产生初期开销,但从长远来看,它们会带来收益。例如,如果项目现在一起被黑客入侵,三年后客户想要添加功能,我们将为现在投入时间进行单元测试感到很高兴。 (好吧,这可能会发生,也可能不会发生,但是...如果客户将来邀请某人来研究解决方案,并且看到严重被黑的代码,他们可能不会再使用我们。)
还要记住,我们做的东西越多,它就会变得越快。
问题是:如果我们知道至少在部署该组件之前单元测试已经通过,那么我们晚上就可以睡得更好。