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
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 《ilua》速成开发手册3.0 官方用户交流:iApp开发交流(1) 239547050iApp开发交流(2) 1...