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

接着上回书,继续往下写。

 

基本工具。

工具放大你的才干,工具相当于手的延伸,工具用的越好,工作越熟练,效率越高。

 

1)纯文本的威力。纯文本保存的东西不会过时,更易于测试,成功的例子就是Unix、Linux操作系统。

 

2)shell的力量。当GUI解决的步骤比较繁琐的时候,换种思路,看看shell可以解决问题不。

 

3)强力编辑。要熟练掌握一种文本操纵工具,比如vi,比如awk,比如sed,等等,一定精通一个。

 

4)源码控制。这种事情大家都知道,罗列到这里,罗嗦了。

 

5)调试的心理学,要发现问题,而不是职责,应该以积极的心态面对bug这种事情,早发现比上线发现好。

 

注重实效的偏执。

 

1)按照合约进行设计。客户和供应者必须就权利和责任达成共识。

 

2)死程序不说谎。早点崩溃,因为这样,可以尽早的发现问题,而不是把留有问题的软件交付给客户。

 

3)断言式编程。如果它不可能发生,用断言确保它不会发生。

 

4)将异常用于异常的问题。

 

5)注意资源的清理和回收。比如io使用后要记得关闭。

 

弯曲或者折断

 

1)低耦合高内聚。面向接口编程。

 

2)元程序设计。将抽象放进源代码,将细节放到元数据。要尽量把变化的东西做成可以配置。

 

3)时间的耦合。注意并发编程。了解客户的工作流程,合理利用并发。

 

4)MVC的设计模式,让视图与模型分开。

 

     模型:表示目标对象的抽象数据模型。模型对任何视图或者控制器都没有直接了解。

 

     视图:模型的展示方式,解释模式的方式。它订阅模式的变化和接受来自控制器的逻辑事件。

 

     控制器:控制视图,并向模型提供新数据的途径。

 

5)黑板。使用黑板协调完全不同的事实和因素,同时又使各方保持隔离和独立。

 

当你编码时

1)不要靠交合编程。不要认为程序应该就是这样,要有计划,并作充分有计划的测试。

 

2)算法的效率。每个开发都应该具有开发和设计算法的能力,我们很多人都不具备这个能力。

 

3)重构。软件工程不像盖高楼大厦,更像是园艺工程,需要不断的维护调整更新迭代。

    

     重构的原则:不要在重构的时候视图增加新的功能。

 

                       开始重构之前,确保你拥有良好的测试,并为此做好了准备。

 

                       采取短小,深思熟虑的步骤,然后每个小步骤完成后都进行测试。

 

4)易于测试的代码。针对合约进行测试用例的设计,把单元测试用例整理起来,养成测试的良好习惯。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值