Write Clean Code笔记

1、编译警告全开、lint检查、单元测试
2、Release和Debug版本、用断言、不要隐藏错误、双算法校验、不要把测试推给别人
3、外壳函数、消除错误的随机性(MS的Debug版malloc填充CC)、保存调试信息、透明的检查、调试版本不在乎效率
4、断点单步、跟踪所有分支路径
5、不要在正常地返回值中隐藏错误代码、编写功能单一的函数、暴露错误的输入、避免布尔参数(不易扩展,整数?)、注释(突出异常情况)
6、使用有严格定义的数据类型、变量溢出、避免无关紧要的if、每种特殊情况只能处理一次、避免有风险的惯用法(系统会优化无符号数的除法)、所有错误汇集到一点、不要把布尔值与TRUE(非0)进行比较、通过最大限度地增加公共代码的数量来使代码差异减到最少、printf(str)的风险在于str中可能包含%符号而被解释为格式说明、保持代码清晰性
7、只操作自己的数据、不要写寄生函数、不要滥用语言技巧、二选一函数(a?f1:f2)(var);
8、错误不会消失、马上修改错误,不要推到最后、修改错误要治本,不要治表、不要随意整理代码、不允许没必要的灵活性、尽量编写和测试小块代码、建立自己的优先级表并坚持之

正确性、可测试性、全局效率、可维护性/明晰性、一致性、大小、局部效率 、个人表达方式、个人方便性

决不允许同样错误出现两次

你可能感兴趣的:(算法,单元测试)