读书笔记《程序员修炼之道》

书很薄,只有两百来页,但是内容不少。首次阅读觉得只能领悟其中一二。翻译得挺生硬,将就着看。

整本书都是在讲注重实效的程序员。
回顾知识点,归纳给自己看:

第一章、注重实效的哲学
1、对自己的代码负责,出现问题时要提供解决方案而不是找借口;
2、保持代码整洁,不要容忍“破窗户”;
3、注意变化,让其可视、可控;
4、权衡系统完成度,让用户参与,适时止步;
5、坚持学习,批判思考,为自己投资;
6、进行有效交流,提高自己影响力;

第二章、注重实效的途经
1、DRY原则,不要重复要复用;
2、正交性原则,和解藕差不多吧;
3、让决策可撤销,让其灵活;
4、“曳光弹”:先完成一部分可用功能再集成其他功能;
5、制作原型(不太懂);
6、领域语言(不太懂);
7、学会估算,把握进度;

第三章、基本工具
介绍纯文本、shell编辑器、源码控制、调试、代码生成器;

第四章、注重实效的偏执
1、按合约设计,用文档说话;
2、确保找bug时不造成破坏;
3、断言;
4、适当使用异常;
5、平均分配资源;

第五章、弯曲,或折断
1、解耦;德墨忒尔法则
2、元程序设计:使用元数据配置
3、解决时间耦合:提高并发性
4、解除视图与模型的耦合;
5、黑板(不太懂)

第六章、当你编码时
1、避免靠巧合编程(清楚知道你所写);
2、估算算法速率,选择合适的;
3、重构,早重构、常重构;
4、编写易于测试的代码,为测试而设计;
5、不要使用你不理解的向导代码;

第七章、在项目开始之前
1、挖掘需求,建立文档,站在用户的角度,抽象设计;
2、感觉发现新方法解决问题,做适量准备,不要陷入规范陷阱;
3、不要做形式方法的奴隶;

第八章、注重实效的项目
1、注重实效的团队会清楚实效的哲学;
2、尽可能使用自动化;
3、早测试,常测试、自动测试;
4、关注文档,把文档作为开发一部分;
5、温和地超出用户的期望;
6、接受挑战、传播知识,在自己作品上签名;