Alberto Gutierrez在自己的Blog上发布了篇名为“关于编程,大学没教的10+1件事”的文章。
- 出错的总是我们。
- 要是事情会出错,它就一定会出错。
- 所有代码都是垃圾。
- 臭虫总会有。
- 客户最重要。
- 纸上设计无用。
- 少即多。
- 编码只是我们20%的工作。
- 客户不知道他们想要的,永远!
- 有人曾经做过。
意外收获:嘿!我们的工作很酷!
单看上面的内容,可能无法理解Alberto的真正意思:
因此,预先计划和设计是非常有用的,但是不要陷入太深,而且不要把这些图当作契约一样不能变更。
文章发表之后,引起了广泛的讨论。
Santiago Valdarrama表示:
我认为每个预先设计都应该在沙子和手纸上完成。我用这种方法去完成存在时间不超过10分钟的事情。
预先设计是恶鬼。它吞噬时间,而且总是在你开始编码10分钟后就过时。
取而代之,用铅笔在一张你马上就会丢掉的纸上去完成临时的草图和备注。
Alberto对此回应说:
我并不特别喜欢进行大的预先设计,但我仍然认为花不超过30分钟的时间去做非常高层的设计还是必要的。
Gustavo Freitas非常认同第3点:
我认为阅读别人的代码是最难的一件事。我们的脑子可能还没有为那个逻辑或其他东西做好准备,但是不理解那些实现又不行。我们的职业不只是书写代码,它还涉及耐心和灵活性。
Dathan认为新人很难认识到第5点,而认识到第10点的人则能够节约大量的时间。
对于“客户不关心项目使用的技术”,schnalle有不同看法。他表示,维护成本会让用户选择知名的开源技术。
Don Taylor认为预先设计不充分会导致代码变烂,而且还认为对于设计包含哪些东西存在大量混乱的想法。“第9条很重要”,Don说道。最后他补充了一点他认为应该出现在这个列表上的内容:估算。
另一位读者,Kashif Baig,同样表达了设计的重要性。他的观点归纳为
妙趣横生,同时发人深思,是对本文的最好评价。请一定要读读原文,该文亦有中文版。
摘自 www.groovyq.net
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞0
添加新评论1 条评论
2010-09-16 21:44
要是事情会出错,它就一定会出错。(这个我深有体会--我现在是项目支持~~)
所有代码都是垃圾。(优雅的代码,要么没见过,要么看不懂。很少见到自己既能看懂,又很顺眼的代码。当然,自恋型的程序员看自己的代码会如此~~)
臭虫总会有。(稍微有点儿规模的系统,没见过没有bug的东西呢)
客户最重要。(你的经理下个月度蜜月的经费来自于客户的验收签字)
纸上设计无用。(画的图画不能在CPU上跑)
少即多。(大简至美)
编码只是我们20%的工作。(测试、更改业务占去了很多时间。到头来发现,最开始做的工作都是无用功,但是又不能少)
客户不知道他们想要的,永远!(业务变更有很多原因,引导客户还是被客户引导是门学问)
有人曾经做过。(这个没弄明白....惭愧~)