注重实效的偏执 - 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)