梦断代码阅读笔记七
第6章 搞掂设计方案
卡普尔认为, 软件设计不仅只是在程序员代码之上覆盖一层诱人的图形。它是一种设想用户需求并在软件结构中满足这些需求的创造性基础工作。
良好设计的原则:
坚固–良好的结构、没有缺陷;适用–程序应符合其设定目标之所需;愉悦–使用程序的体验应令人愉快。设计方案与实际过程没有先后,而是相辅相成,同期发展。
在软件世界中,集成(integration ) 的意思就是把一段运行正常的代码连接到某个程序中另一段运行正常的代码上。
集成往往是软件项目遇到大麻烦的环节。分开来运行相当正常的代码, 在合起来时就闹罢工:不能正确挂接、发送不可解释的消息、或者顽固地拒绝启动或停止。
现今的多数项目都接纳了“持续集成”的观念:程序员不断向主干代码中签入最新的代码,每个人负责确保自己加进去的代码不会导致问题发生。持续集成应该更利于产品的定期发布。
戴维·艾伦是一位生产力教练,其著作《GettingThings Done》一书在程序员人群中近乎圣典。
GTD 的核心原则之一是建议有规律地安排定量时间处理收件箱:
查看胡乱塞进系统的每个比特填料并做出决定,“下一步怎么处理这东西?"艾伦建议,如果在两分钟之内就能处理好, 马上就开始做。否则, 决定是存档、丢弃、推迟, 或者分类到某个有下一步操作建议的具体项目中。
关于Linux的作者李纳斯托瓦茨的话:
别做大项目。从小项目开始,而且永远不要期望它变大。如果这么想(指做大型软件),就会做过度设计,把它想象行过于重要。更坏的情况是,你可能会被自己想象中的艰难工作所吓倒。所以要从小处起步,着力考虑细节。别去想大图景和好设计。如果项目没解决某些需求,多半就是被过度设计了。
别指望在短时间内达到大成就,我致力于Linux达13年之久,我想后面还得花上好些时间。如果一早就妄想做个大东西,可能现在还没动手呢。
浙公网安备 33010602011771号