14章 组织直线代码
14.1必须有明确顺序的语句
设法组织代码,使依赖关系变得非常明显
使子程序名能突显依赖关系
用注释不清晰的依赖关系进行说明
用断言或者错误处理代码来检查依赖关系
14.2顺序无关的语句
相关代码组织在一起(同一个对象的调用语句)
15使用条件语句
在写IF语句的时候要遵循下述指导原则:
首先写正常代码路径;再处理不常见情况
确保对于等量分支是正确的 > >=的问题。。。不会犯吧。。
把正常情况的处理放在if后面而不要放在else后面(把决策结果放在尽可能靠近决策位置)
让IF了句后面跟随一个有意义的语句 就是说,IF后面不能跟空语句而ELSE后面有一个语句
考虑ELSE子句 如果你认为自己只需要一个简单的IF语句,那么请考虑,你是不是真的需要一个 if-else语句。通用汽车公司做的一项经典分析发现,有5-8成的if语句都应该配有一个else子句可以考虑用一个空语句放在ELSE位置
if-else-if语句:
利用布尔函数调用简化复杂的检测
把最常见的情况放在最前面
确保所有情况都考虑到了
用其它结构替换if-else-if(switch)
15.2 case 语句
为case选择最有效的排列顺序:
按字母或数字顺序排序排列各种情况
把正常的情况放在前面
按执行频率排列CASE子句
使用CASE语句的诀窍:
简化每种情况对应的操作 使得每种情况的相关代码短小精悍。(写子程序)
不要为了使用case语句而刻意制造一个变量(switch)的变量
把Default子句只用于检查真正默认情况
用Default来检测错误
16章 控制循环
16.1选择循环的种类
计数、连续求的循环、无限循环、迭代器循环(数组遍历)
什么时候使用while循环
带退出while循环
什么时候使用foreach Loop
16.2循环控制
循环要尽可能地短,以便能够一目了然
把嵌套限投制在3层以内
把长循环内容移到了程序里
要让长循环格外清晰
隐式地比较布尔值与true false while(a>b)而不是while(a>b == ture)
19.4驯服危险的深层嵌套
很少人能够理解超过3层的if嵌套
通过重复检测条件中的某一部分来简化嵌套的if语句
使用
do {
if (XX)
break;
}
来简化嵌套IF 语句块的中间某些条件没有满足
把嵌套语句转换为一组if-else-if
把嵌套if转换成case
31章 布局
空的能够增强可读性。空白包括。。。