注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 CCNA教材推荐
 帮助

艰难前行的故事 (《梦断代码》读后感)


2008-06-04 02:58:18
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://snowman.blog.51cto.com/307956/80194
读完《梦断代码(Dream In Code)》样书,最后韩磊的译后记中已经提到了Chandler项目的结局,它失败了,它成了众多失败软件项目中的一个。这个结局无疑又加重了自己看完这本书后心情的沉重:做软件真不容易。
 
今天的软件项目,已经成为一个错综复杂的建筑工程,不断变化的应用环境(包括使用者),使得软件需求被不断更新,今天100个需求,明天减10个、改5个、加80个,这在不断公开发布的升级版开源软件以及Web网站应用中表现的就颇为明显。为了满足这种需求及由此需求所带来的编程及调错成本,人们已经发明了众多方法,比如一旦项目被人们认为足够“大”,就用面向对象来代替面向过程,以及使用面向对象所衍生的面向组件-----但所有的这些,面对复杂的外部需求,程序员们感到还是远远不够。
 
《梦断代码》里同样在反映这个现实,描述了大量导致软件项目进展困难的问题。作者无法给出一种灵丹妙药,甚至没有表达太多自己对于解决问题的倾向性意见。但其中提到了一种案例是“实用最小主义”:
 
1)尽量少的人。这意味着沟通成本的降低,意味着更容易较为完整的相互理解彼此的思路,意味着软件团队开发中涉及最复杂的因素“人”的问题在理论上的减少。
 
2)尽量少的时间。这意味着人出于谨慎原则会更青睐于选择自己最熟悉的解决方案,这里的解决方案指的是平台、框架、思路等等。
 
3)尽量少的功能。这意味着只能选择最有把握实现且最为贴近根本需求的功能。
 
大多数软件工作人员在继续研究和创造新的方法论,这种“实用最小主义”的论调对他们来说显然是一个保守以求项目安全的方案,归根结底,它是在减少问题的理论上限和发生的概率。
 
我倒愿意多考虑一些乐观的因素,这么多年来,积累的方法实际上已经大大提高了我们解决问题的能力,类库和框架越来越庞大的同时也的确在为我们减少问题。“实用最小主义”这样的条款和“方法论”并不冲突,他们总是在相对的变化,也就是说,随着方法论的不断完善扩充,“实用最小主义”的门槛实际上也在不断提高:今天一个被3名程序员认为棘手的功能,可能2年后一个程序员独立就可以轻松在某个框架上完成。
 
《梦断代码》中对软件工程所面临的种种困难与艰难的描述,即便再过5年读也许都不过时。因为正如原作者所说,书中描写的是一队人马并肩扛起代码大石,虽历经磨难仍欲将其推上山顶的故事,而正是这种故事成就着今天全世界亿万台服务器和PC机上运行的各种软件,成就着人类不断超越实现更伟大的梦想。

本文出自 “王炳坤的博客” 博客,请务必保留此出处http://snowman.blog.51cto.com/307956/80194





    文章评论
 
2008-06-05 10:04:24
这本书的名字起的真梦幻啊

2008-06-05 15:36:41
意外的看到炳坤同志更新了~ 而且是这么深有意味的文章,再次印证了你确是程序员中的文艺青年!

2008-06-05 20:00:45
虽然不是搞软件的。不过觉得网络中很多项目也有类似的问题。

不过我们这里的VOIP OM 等上的应用。也是弄得开发人员一个个抱脑袋。

2008-06-06 13:06:27
好文!好录.http://fellow.51cto.com/ 之"同行话题" :)

2008-06-06 13:51:38
谢谢炳坤兄的读后感。有兴趣的朋友可以访问http://www.dreamingincode.cn获得本书更多信息。

2008-06-12 12:05:52
@韩磊:
好的:)

2008-06-12 13:33:39
好题目,咱以后写梦断服务器、梦断项目组、梦断网线……等等

2008-07-07 19:16:19
怎么不见你在

nt上发言了?

 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: