读《修改代码的艺术》的一些tips

1.代码的写法应当使别人理解它的时间最小化;
2.循环的变量名应该与数组或字典名字绑定 for (int user_i = 0; user_i < 10; user_i++) { int userNumber = user[ user_i ]; } (花点时间想个好名字)
3.把信息塞入名字中,让读者通过名字可以获得大量信息;
4.注意对齐, 参数或方法要紧凑;
5.空行把大块不同责任的代码分成逻辑上的段落;
6.条件语句左侧通常是“被比较”的表达式,条件语句右侧通常是“做参照”的表达式;变化值在左侧,不变值在右侧;
7.只有在最简单易懂的情况下使用三目运算符,否则使用if {…} else {…};
8.当一个表达式正向理解太复杂,就试着从反向开始;
9.如果一行代码过长且不清晰,重复,试着分成小方法或者定义临时变量或宏;
10.( ! ( !a && b ) ) ==> ( a | | ! b ) (! ( !a || b ) ) ==> ( a && !b ) ;
11.减少需要同时跟踪的变量数,因为很难跟踪,且容易不小心改变它的值;也可以减少变量的作用域;
12.可以把为了在条件语句使用定义的临时变量定义在条件中: NSInteger i = …; if ( i > 5) { … }; ==> if ( NSInteger i = .. > 5 ) { … };
13.把算法和程序先用自然语言描述出来,然后把自然语言变成代码,然后再次像读自然语言一样读代码,直到能读通为止;
14.注意符合当前需求的最简短代码,而不要使用通用的解决一堆根本不存在问题或边界的庞大代码;
15.可以使用数组,用 , | 等分隔的字符串等来实现成组的测试;
16.测试只需要刚刚好能覆盖所有情况(包括边界)即可;

你可能感兴趣的:(读《修改代码的艺术》的一些tips)