随笔-16  评论-14  文章-2  trackbacks-0
  2010年3月20日

Alixx Skevington贴出了一篇《完成宣言》,开启了一段关于下列话题的讨论——团队成员对工作的质量和清晰描述代码所交付的商业价值所负有的义务。

 

他列出了如下的完成标准:

 

 

 

 

 

 

 

 

文章在LinkedIn上一经贴出,引来了很多网友回复,建议加入更多的条目,例如:

 

我要添加一条:“在签入代码前我会重新运行全部的单元测试”。理由是代码修改后可能会给其他地方带来问题。这种情况在我上一份工作中发生过好几次。(David Kramer)

 

回复:这与单元测试有关:其实我想把这句话改为“我会在编写代码前编写单元测试”,因为我是个测试驱动开发的忠实信徒。另外一条与测试有关的是:它们也是生产代码,请用同等标准对待。(Scott Ames)

 

Scott Mcphee不同意关于代码注释的条目:

我不得不说我完全不同意关于代码注释的说法。注释经常撒谎,或者重复那些显而易见的东西(比如这样:/* 让y等于x */ x=y;),总是让我们背上额外的包袱,去维护代码以外的东西。清晰的设计和编码不需要“简明的注释来解释我做了什么”——这都是代码本身所能说明的,而签入配置管理服务器时的注释和版本比较也足够说明“为什么要这样做”。如果代码不能体现这一点,那么就对其进行重构,直至达到上述要求为止。 API文档是另外一个麻烦,不过通常不是针对源代码的读者来编写的,而是为使用公开方法的用户所提供的,正式发布的产品的一部分。

 

Jay Packlick提出了他认为最为关键的一点:

“完成”的定义所暗示的最重要的一条应当被明确指出,我把它放在列表的第一项:“定义了‘完成功能’的所有的确认条件都应该以测试的形式体现,并能够通过测试”。

posted @ 2010-03-20 14:44 omnislash 阅读(79) 评论(0) 编辑