《梦断代码》讲述了OSAF开源基金会开发日历管理软件Chandler的过程,前后两打程序员,3年时间,4732个bug,耗费百余万美元,只为了打造一款全功能的日历软件。本书是讲一事,也是讲百千事;是写一软件,也是写百千软件;是写一群人,也是写百千万人。任何一个在软件领域稍有经验的技术人员看完本书,必掩卷长叹:做软件难。软件乃是人类自以为最有把握,实则最难掌控的技术。书中的许多内容确实就是我的感受,例如在做软件的过程当中,时间似乎确实时快时慢。如果一切顺利,你会沉浸在心理学家称之为“流逝”的状态中,全然忘记了时间。如果事有不谐,你又会陷入困境,四顾茫然、举步维艰。无论是哪种情况,时钟都被抛诸脑后——这是“软件时间”。正所谓,行百里者半九十。
开发软件应该经可能的都往前赶,这样才能有足够多的时间来应对突发的状况。否则,随着软件的开发,却发现时间越来越少,软件缺陷列表中却又成千上百的任务需要完成,陷入深深的沮丧。这是无数程序员都会经历的开发远远落后于进度的境地,哀叹死定了。这可能是软件开发人员最绝望的时候,眼睁睁看着交付的时间来临,却束手无策。另外创新往往十分困难,一味追求创新,会使我们举步维艰,但正是这些创新才是那我们赢得用户的最根本保证,所以,做软件正确把握这个度很重要。