随笔-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) 编辑
  2010年1月14日

 

守-破-离

守:是提供一种具体的方法(规范/流程),可供初学者遵循以获得成功。

破:是在“守”的基础上,去了解更多可选的方法,并了解每种方法的异同、适用范围。

离:对于各种方法融会贯通,不拘泥于具体的形式而运用自如。

 

XP的三级成熟度模型:

1、遵循XP方法的各种规则

2、在做到1之后,尝试对规则进行变通

3、最终无需在意是否在使用XP方法

 

应用:

要根据对方(特定于主题)所处的层次来安排谈话内容。

 

posted @ 2010-01-14 18:16 omnislash 阅读(128) 评论(0) 编辑
  2008年3月26日
http://news.csdn.net/n/20080123/113019.html

如同所有成功者都会说的话,坚持到底才是最重要。但是简立峰解释能够成功的「坚持」,不是那种固执己见、消耗体力、毅力的坚持方式,也不是一味认定媳妇终会熬成婆的苦苦坚持,而是「期待自己好还要更好,不断突破的坚持态度。」
posted @ 2008-03-26 14:07 omnislash 阅读(28) 评论(0) 编辑
  2008年3月25日

项目管理艺术(The Art of Project Management)P122

I've argued with other managers on this very point. They couldn't imagine not allowing their team to code at full speed all the time, regardless of whether the programmers understood the direction the project was going. If the programmers were idle, then the project must be idle, right? Wrong. There is hypocrisy here: if the programmer's time is so valuable, the use of it should be well planned. "What will the programmers do?", they'd ask me. And I'd say, "They will wait for a plan worthy of their time, or help the team to find it."

我曾和其他经理人就这点争论过。他们无法想象,不让团队随时全力撰写程序代码的情况,无论程序员究竟是否了解项目的前进方向。如果程序员空闲,项目就必然闲置,对吗?错。这里有个伪善的说法:如果程序员的时间如此宝贵,在使用上就应充分被计划。他们问我:“那程序员要做什么?”而我说:“他们要等待值得他们付出时间的计划,或者协助团队找出来。”

posted @ 2008-03-25 13:54 omnislash 阅读(38) 评论(0) 编辑
  2007年11月19日
摘要: NUnit小技巧一则阅读全文
posted @ 2007-11-19 21:46 omnislash 阅读(109) 评论(0) 编辑
  2007年8月21日
摘要: 以前总是先构造领域对象,今天发现,还是从界面构造起开始比较好,符合top-down模式,比较不会迷失方向。阅读全文
posted @ 2007-08-21 18:07 omnislash 阅读(37) 评论(0) 编辑
  2007年7月30日
摘要: 周五的时候在写一个小程序,它的输入是电话号码,输出是该号码的区号。区号表用Access数据库存储。解析算法的最初思路是:把整张区号表做成一个状态机,电话号码逐字符输入。这样效率应该比较高,但是要手工构造那个状态机就有点麻烦。“先让程序跑起来,然后让它快起来”——稍微简化一下,先用号码的头三位(为什么用前三位?那是因为国内区号最短就是三位)做模糊查询,过滤掉明显不匹配的区号,...阅读全文
posted @ 2007-07-30 00:07 omnislash 阅读(196) 评论(0) 编辑
  2007年5月30日
摘要: 响应一下Anders Liu的号召,列几个自己经常遇到的实现
写得很简单,欢迎讨论阅读全文
posted @ 2007-05-30 19:08 omnislash 阅读(570) 评论(5) 编辑
  2007年5月11日
摘要: 1. 同时使用C++操作符new和MC++操作符new使用__gc和__nogc关键字:例如,托管类M和本地类NM* m = __gc new M;N* n = __nogc new N;2. 含有析构函数定义的托管派生类链接时错误:error LNK2001: unresolved external symbol "void __cdecl __CxxCallUnwindDtor(void (_...阅读全文
posted @ 2007-05-11 15:34 omnislash 阅读(276) 评论(0) 编辑
  2007年4月6日
摘要: 问:何时为接口指定实现?答:在一个特定语境的入口处,在该语境范围内,接口的实现作为一种“共识”被使用。它相当于语用学中的Deixis(指示语,例如:“这个”,“那个”,“现在”等等);从这个角度考虑,指定接口的实现是一种建立“共识”的行为。类似情况的还包括参数的传递和读取配置阅读全文
posted @ 2007-04-06 10:34 omnislash 阅读(177) 评论(0) 编辑
仅列出标题  下一页