第4章 注重实效的偏执 Pragmatic Paranoia
提示30: You Can't Write Perfect Software
你不可能写出完美的软件
注重实效的程序员会更进一步。他们连自己也不信任。
21. 按合约设计
没有什么比常识和坦率更让人感到惊讶。——拉尔夫•沃尔多•爱默生,《散文集》
提示31: Design with Contracts
通过合约进行设计
- 前条件
- 后条件
- 不变项
22. 死程序不说谎
提示32: Crash Early
早崩溃
要崩溃,不要破坏(trash)。
23. 断言式编程
提示33: If It Can't Happen,Use Assertions to Ensure That It Won't
如果它不可能发生,用断言确保它不会发生
记住断言可能会在编译时被关闭——决不要把必须执行的代码放在assert中。
不要用断言代替真正的错误处理。
24. 何时使用异常
提示34: Use Exceptions for Exceptional Problems
将异常用于异常的问题
25. 怎样配平资源
提示35: Finish What You Start
要有始有终
对资源分配的建议:
- 以与资源分配的次序相反的次序解除资源的分配。这样,如果一个资源含有对另一个资源的引用,你就不会造成资源被遗弃。
- 在代码的不同地方分配同一组资源时,总是以相同的次序分配它们。这将降低发生死锁的可能性。
网友评论