梦断代码阅读笔记02
书中介绍了如何设计项目的目标。这个和项目的信仰很矛盾,理想是做一个很出色很优秀的软件,但是很多情况下是力不从心的,项目过大很容易埋葬自己。文中有一段很有意思的对话:“你对那些刚开始做大型开源项目的人有何建议?”“别做大项目”。卡普尔在Chandler的设计过程中一直想坚持“Agenda之魂”,现实却一次次的消磨这种想法。后来他只期望做出一个“狗食版”,但是“狗食版”都是一件多么奢侈的愿望。实际上大家都希望看到自己的努力有实质性的成果,做出一个“狗食版”有利于较大目标的实现。“尽快的做出可用的软件”(原文中“狗食版”是指给自己用的版本,来源于一个美国卖狗食公司的广告,该公司的老板用自己生产的狗食喂自己的狗)
代码库管理员这名字,是不是大多数人都是这样,也许是,但是我希望不是这样,因为老师说过,刚进公司的时候发现学习迅速,做软件不是太难,但是,在做大型的项目的时候,懂得程序的本质,知道他的本来运行机制,能更好的编写程序,组织程序,也能够为了以后的开阔视野,升迁拉开同等人差距做铺垫。但是我认为代码管理员还是能够更快更迅速 的发展软件这一行业,他能够让跟多的人参与进来,那样人多迸发的思想也就会更多,总之,有利也有弊吧。
对于缺陷管理。书中说现在的编程模式基本上都是先编些代码,然后修正缺陷,实际上很难写出没有缺陷的代码来。直觉上,文中也是这么说的,在开发过程中越晚修正缺陷,代价就会越高。所以要尽早的发现缺陷。如何减少缺陷,文中给出了一些方法,比如“螺旋模型”、“极限编程”、“祖尔测试”等等。作者还提到了OOD的思想,要合适的抽象和模块化,同时鼓励使用代码注释。
读了《梦断代码》后,我真的觉得软件开发过程是抽象而又艰巨 的,不是每个人都能做的一份工作,机器语言不比人类语言难学,开 发软件好比建筑工程,一层基于一层,需要的耐心和一份执着。