代码大全-读书笔记(布尔表达式)

一般控制问题
要点
1 使用布尔表达式简单可读,非常有助于提高你的代码质量
2 深层次的嵌套似的子程序变得难以理解,所庆幸的是你可以相对容易的避免这么做
3 结构化编程是一种简单并且仍然适用的思想:你可以通过把顺序、选择和循环三者组合起来而开发出任何程序
4 将复杂度降低到最低水平是编写高质量代码的关键

如何度量复杂度
1 从1开始,一直往下通过程序
2 一旦遇到以下关键字或者同类的词就加1:
if while repeat for and or
3 给case语句中每一种情况都加1
计算出决策点的数量以后,你就可以得到的数值分析你写的子程序的复杂度了:
0-5子程序可能还不错
6-10得想办法简化子程序了
10+ 把子程序的某一部分拆成另一个子程序并调用它
把子程序的一部分提取成另一个子程序,不会降低整个程序的复杂度,只是把决策点移到其他地方。
但这样做可以降低你在同一时间必须关注的复杂度的水平。由于重点是要降低你需要在头脑中同时考虑
项目的数量,所以降低一个给定子程序的复杂度是有价值的。
10个决策点的上限不是绝对的。应该把决策点的数量当做一个警示,该警示说明某个子程序可能需要重新设计了。
不要死守这个规则。一条情况很多的case语句可能包含超过10个元素,如果硬拆它可能是愚蠢的,这取决于该case语句的用途。

使用true和false做布尔判断
在布尔表达式中应该用标识符true和false,而不要用0和1等数值。
简化复杂的表达式
1 拆分复杂的判断并引入新的布尔变量
与其写一个庞大的、具有很多项的复杂判断,还不如把中间结果赋给变量,让你可以执行一个更简单的判断。
2 把复杂的表达式做成布尔函数
如果某项 判断需要重复做,或者会搅乱对程序主要流程的理解,那么可以把该判断的代码提成一个函数,
然后判断该函数的返回值。
3 编写肯定形式的布尔表达式
4 用括号使布尔表达式更清晰

猜你喜欢

转载自cfj.iteye.com/blog/2296675
今日推荐