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

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

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

  1. 梦断代码读后感(一)

    一个百无聊赖的下午,天空黑沉,寒风刮过大地. 无所事事我的想起了这本厚重的书--<梦断代码>: 梦断? 难道自己专业的书籍不该赞扬不该大肆宣传本专业吗? 梦断这个词很难让人联想到好的方面, ...

  2. 《梦断代码》读后感 - 驱动,责任,交流,远虑

    这三篇读后感原来发布在我自己申请的域名 yishan.cc 上面,后来这个域名被墙了.   (原文写于2008年12月) 几个星期前,我给<现代软件工程>课的每一个团队都发了一本 < ...

  3. 现代软件工程系列 学生读后感 梦断代码 软件难做

    http://cid-064ec84e17924332.spaces.live.com/blog/cns!64EC84E17924332!173.entry December 06 读<梦断代码 ...

  4. 现代软件工程系列 学生读后感 梦断代码 布鲁克斯法则

    <梦断代码>读后感(第1~6章)     书名:"Dreaming in Code",作者:Scott Rosenberg(中译本:<梦断代码>,翻译:韩磊 ...

  5. 现代软件工程系列 学生读后感 梦断代码 SpringGreen

    "拿来的代码所不能做到的部分,恰是项目与众不同的创新之处". <梦断代码> 终于看完了<梦段代码>.      其实整本书就是讲图灵机的不可判定性----软 ...

  6. 《梦断代码》读后感2

    这次,我读了<梦断代码>第4章乐高王国,第5章管束奇客和狗,第6章搞掂设计方案. 在乐高王国这一章中,我看到了"牛仔程序员",就如同软件工程老师所讲的,四种人,第一等人 ...

  7. 《梦断代码Dreaming In Code》阅读笔记(三)

    最后这几章感觉上更多是从软件完成整体上来讲的.比如说技术.方法等. 在我看来,其实一个团队一直坚持一种好的.先进的方法是不可少的.如果一个优秀的团队刚愎自用,只随着成员们喜好发展,那不能长久.比如说, ...

  8. 读梦断代码有感(1)2019.2.05

    今天阅读了建民老师推荐的我们软件工程方面的书籍被称为经典的<梦断代码>,虽然只是读了一小部分但还是感受颇深,在我以往的经验看来,我们软件工程专业的书籍应该都是枯燥乏味的代码啊啥的,所以开始 ...

  9. 梦断代码阅读笔记之一

    最近阅读了罗森伯格的<梦断代码>,算是近距离观察了十几年前软件开发的状态.这本书是作者对OSAF主持的Chandler项目进行田野调查  而写的一本书.本书是在讲一事,也是在讲百千事:是写 ...

  10. 《梦断代码Dreaming In Code》阅读计划

    书籍是人类宝贵的精神财富,读书是人们重要的学习方式,是人生奋斗的航灯,是文化传承的通道,是人类进步的阶梯.学生作为学习人群的主体,必须把读书作为头等大事.学校就是一个学生在教师指导下自主读书的空间,而 ...

最新文章

  1. 计算机基础知识应用文档,计算机基础知识与应用
  2. minAreaRect函数
  3. 开发IOT WiFi设备时,需要测试的几种情况
  4. JWT 和 session验证
  5. Scala 求三个数中的最大数代码示例
  6. bloom filter 的Java 版
  7. 字符串中最后一个词组的长度 Length of Last Word
  8. 基于 Raphael 的 Web UI 设计 - 初稿
  9. JAVA IO中的设计模式
  10. [译] What is some general advice for a new PhD student?
  11. 遥控三通直升机飞行原理简介
  12. Mac版 微信 撤回消息拦截两种方法
  13. 自制可运行pe的iso
  14. 多张JPG图片怎么转成一个PDF
  15. 《精通Oracle Database 12c SQL PL/SQL编程(第3版)》代码下载
  16. linux 壁纸自动更换,linux设置自动更换壁纸
  17. 交错数组 c语言,C#交错数组打印杨辉三角 | C/C++程序员之家
  18. 西电计算机学院2019年复试线,2021西安电子科技大学研究生分数线一览表(含2019 2020历年复试)...
  19. Web3.0世界知识体系分享-Web3.0基本载体(NFT)
  20. CCAI 2017首日 AI圣经《深度学习》中文版强势首发

热门文章

  1. 【转载】关于.NET下开源及商业图像处理(PSD)组件
  2. UGUI Auto Layout 自动布局
  3. 可遇不可求的Question之error: Failed dependencies: MySQLconflicts 错误篇
  4. 斗战神 刷图电罗刹攻略
  5. Spark 0.9.0启动脚本——sbin/start-slaves.sh
  6. HDU3595_GG and MM
  7. 【已解决】bootstrap table 参数后台获取不到
  8. 罗马数字与阿拉伯数字转换
  9. shell脚本实现FTP自动上传文件
  10. J2EE 快速开发框架 Wabacus 3.3 版功能列表