独立工作小项目:牛仔编码的方式去?

独立工作小项目:牛仔编码的方式去?

问题描述:

在团队和/或大型项目中工作时,我是敏捷方法的主要倡导者。独立工作小项目:牛仔编码的方式去?

但是,我发现,对于较小的项目,单独工作时,我通常会开始编写单元测试项目,广泛记录重构。随着时间的流逝,我停下来,因为我觉得我在浪费时间。我发现牛仔编码敏捷(经常测试,编写人类可读代码)对我来说非常适合小型独立项目,我不希望其他人需要使用这些项目。

其他人分享我的感受?或者你认为那个人不应该坚持他们的枪(得到它?牛仔)?

所以真正的问题:是否有任何敏捷的方法是特别适合独奏项目? (除了我上面的“敏捷牛仔”方法)

敏捷是一种哲学而不是处方。您使用符合您的开发风格,项目和业务需求的作品。

我认为你的“经常测试,写出人类可读代码”的建议是一个非常适合在小型项目的独奏团队中制作优秀软件的方法。

+0

虽然它必须有一定的灵活性,但遗漏掉某些敏捷是完全疯狂的。如果你不重构,你只是把所有的设计都扔出窗外。如果你不测试你不能正确重构。敏捷就像一个*,其中一种做法经常使下一个 - 打破链条,它全部崩溃 - 然后敏捷被指责。 – 2009-08-21 23:20:58

+0

我不同意你的说法:“遗漏某些敏捷是完全疯狂的”。事实上,我认为这种看法在某种程度上是有害的。每个组织和项目都会有特定的需求,评估哪些工具和技术可以帮助您达到目标很重要。幸运的是,重构是更容易选择的方法之一(这也许就是为什么你认为把它放在一边是愚蠢的原因),所以大多数敏捷项目确实为某种定期重构工作腾出时间。 – 2009-08-22 10:42:40

牛仔编码和敏捷过程是不一样的。

至于小型个人项目,当然有很多东西会过度杀伤。敏捷开发,简短的迭代,频繁的代码审查和自我记录代码是最好的选择。

+0

我承认,当我进入这种模式时,我犯了很长的迭代。我通常赶在自己之前,为时已晚。 – snicker 2009-08-21 21:35:40

你可能想看看c2.com的Solo Programming Xp WorkaroundsCardboard Programmer是由于某种原因,我觉得特别有趣。你也许可以用旁边的纸板Jon Skeet编码?

+2

我在这里闻到美妙的商机。谁是第一个与Jon达成独家协议的人? ;) – 2009-08-21 21:18:48

+0

不要忘了橡皮鸭:http://c2.com/cgi/wiki?RubberDucking – 2009-08-21 21:33:00

+0

我曾经和狗谈过,实际上,所以我觉得这是有效的。 – snicker 2009-08-21 21:34:37

我目前正在独立ASP.NET项目(虽然不是一个小)。我使用TDD相当多,而且我发现开发TDD的时间并不长,实际上我节省了时间。

这主要是因为拥有一套单元测试可以非常快速地测试和调试系统。例如。当一个功能没有按照预期工作时,将调试器附加到NUnit进程上要快得多,而不是以调试模式启动Web服务器,导航到正确的页面(首先通过登录屏幕)等。所以没有单元测试,我会花费更多的时间进行测试和调试。

单元测试还帮助我创建一个设计良好的系统,因为它迫使我创建更松散耦合的设计。

我会说在项目中工作的人数不是唯一需要考虑的因素。我认为你找到完整的敏捷(文档,重构,单元测试..........这些可能不是真的敏捷,但他们已经存在了很长时间)的原因是时间浪费是因为独立项目往往是小项目。

对于跨越半年以上的大型项目,我真的希望正确的过程能够真正帮助自己。你可能会访问你5个月前写的一些代码。没有文件,就和其他人的工作一样。如果没有测试,你就像改变其他人的代码一样害怕改变它。