梦断代码阅读笔记二
今天是五一假期的倒数第二天,再次拿起梦断代码这本书,紧接着上次的第三章看来,大概可以看出这一书是围绕作者罗森伯格对OSAF主持的Chandler项目进行田野调查,通过Chandler开发过程来揭示软件开发过程中一些根本性的大问题。
第四章,乐高王国。卡普尔很注重前台的效果,着重于如何体现Agenda之魂。而后台工作总是处于迷宫。人们梦想把做软件变成流水线式的工作,他们长期希望制作一套标准化的插件。这种梦想被称为“乐高假设”:“未来,程序将由可复用的部件组合而成。软件部件将在全球范围内提供”但又很快被研究指出此路行不通,但尽管经历失败,乐高之梦仍然在现代编程史上留下长长的影子。开源式开发和互联网理所当然的开始改变习惯。Google缩短了找东西所需要的时间,像Perl和Python这样的编程语言也提供了大量的代码。
第五章,管束奇客和狗,作者从管束狗上得出管理软件项目的共同点:做交易。即选定一个首要目标,以为按时完成的程序员。在软件世界里,多数选择都会归结为令人神伤的三向交易,其被乐天派称为“质量三角”,被悲观派称为“不可能的三角”。任何一个工程领域做久了,都会遭遇痛苦,但是在软件工程里,这种痛苦更甚。“奇客”一词用来描述那些与计算机沟通易于与人类沟通的人,其专注于己事的人,追求技术和梦想、不融入主流社会的人。
第六章,完成设计方案,在为本书做调研的后期,作者为了避免失败设计了一套备用方案,第一步把劳动果实收集到一个大文件夹里,不小心删了之后找不到,冷静下来之后想起来还有个撤销命令。卡普尔认为,软件设计不仅只是在程序代码之上覆盖一层诱人的图形。它是一种设想用户需求并在软件结构中满足这些要求的创造性基础工作。做项目要从小处起步、压抑自己的野心、考虑细节并永不幻想宏大图景。
代码主要是给人看的,所以在写代码时要规范原则:简明,易读,无歧义。代码要有相应的缩进,要用括号来表逻辑的优先级,变量要用简单的英文单词及注意大小写,注释也是代码必不可少的一部分。当你的代码写完之后还要进行代码复审,最好复审的形式就是同伴复审。如果是自己复审的话,很容易受到先入为主的观念影响,自己找不到问题所在;如果是团队复审的话,比较麻烦的,因为需要找到所有人都空闲的时间出来。在我们平时课上的一些测试,自己写完后,老师也会要求我们进行同桌复审,我觉得这是很有效的检查错误的一种形式。过去一直在写代码的时候都是以自己为先,怎么方便自己怎么来,如果一直这样,那么写这个代码过了很久之后都看不懂自己写的是什么,而且别人也不会看懂。所以以后写代码的时候,缩进、大小写、注释是一定不可少的。