注重实效的偏执 - Wangxiaoman/tech-note GitHub Wiki
按照合约设计
Tip31 Design With Contracts
- 协议
- 接口文档中传输的数据格式
- 分层模型
- 协作分工
编码规范
Tip32 Crash Early
Tip33 If It Can't Happen,Use Assertions to Ensure That It won't
Tip34 Use Exception for Exceptional Problems
资源分配
- 以资源分配的次寻相反的次序解除资源的分配(读写流的关闭,tcp连接的关闭等等)
- 在代码不同的位置分配了相同的资源,使用相同的次序分配,降低死锁的可能(典型例子,数据库的事务问题,对于两条数据加锁,那么在不同的代码块使用相同的顺序)
- 在异常机制下,也要保证资源的释放(java中的finally)