《梦断代码》阅读笔记二:第3到6章

第3章 原型与Python
1、设计良好的程序在提供大多说新特性的同时,并不试图对抗进化过程留给我们的物理世界的倾向。
2、软件是抽象的,看似可以无限拓展。但是,就灵活性而言,它却非常的顽固,令人发指地棘手,而且常以其强硬的以免示人。
3、软件就像洋葱般层层叠叠,每一层都辛辛苦苦地建立于前一层的基础之上,危若累卵,指望着底下那层不要移动或改变太多。
4、软件领域没有摩尔定律。芯片可以每一、两年翻一番;但是大脑的能力无法如此倍增。
第4章 乐高王国
1、人们梦想把软件变成流水线式的工作,他们常会企盼标准化的插件。
2、“乐高假设”,未来软件将由可复用的部件组合而成。软件部分将在全球范围内提供。软件工程将从编程的窠臼中解放出来。
3、如果软件组件像乐高积木块,那么它们就该细小,不能再分,可被替代;它们之间应该更像;它们应该“只能与有限几种相邻的组件拼合”。真实程序中的组件在尺寸上、功能上以及与其他组件的可拼合数量上差异甚大。
3、生产出通用的构造块软件包并不容易,但是对于路上的每一个障碍,一代又一代的程序员总能找到借力之法,避免自行开拓之苦。
第5章 管束奇客和狗
1、在软件世界中,质量三角变化多端,成本难以测算,总是感到时间不够,体现得淋漓尽致。
2、管理的任务就是让人能协同工作,益其长处、弱其短处。我们惯于把管理看做是闪耀着科学光环的商业学校技术应用:生产力统一衡量,投资利润率。“知识工作者”,提醒我们数字只是管理的一个起点,并非终极目标。
3、程序员每天的工作成果是代码,软件生产力最明显的量尺也是代码行。但是这量尺却不能令人满意,有时甚至具有欺骗性。在代码两盒程序完成度、质量以及用户价值之间,并无可靠的关联关系。

 第6章 搞掂设计方案

1、程序员负责猜测程序该如何应对用户输入和机器状态的上千种可能组合。他们并不善于站在用户的立场考虑问题,想出合理之策。他们花费大量的时间纠结于数字化细节,他们被调教得按自己做出的系统一般的运作。他们视之为理所当然的概念,对于非程序员而言纯然是怪异之举;他们多数不太了解用户的想法。
2、程序员们经过训练要巨细靡遗通盘考虑,他们太执着于警惕会出现问题的情形,结果却难免会迟钝不灵。他们在边缘案例上绞尽脑汁,以至于偏离了中心点。
3、良好设计的原则:坚固——良好的结构、没有缺陷;适用——“程序应符合其设定目标之所需”;愉悦——“使用程的体验应令人愉悦”。

 

 未完待续。。。

 

你可能感兴趣的:(代码)