组织直线型代码
本章从以数据为中心的编程观点转到以语句为中心的观点上。
即按先后顺序放置语句和语句块。
尽管组织直线型代码是一个相对简单的任务,但代码结构上的一些微妙之处还是会对代码的质量、正确性、可读性和可维护性带来影响。
必须有明确顺序的语句
示例:有前后依赖关系的语句
data = Readdata():
results=Calculateresultsfromdata( data )
Printresults( results )
这个例子中潜在的根本概念与依赖性有关。第三条语句依赖于第二条条依赖于第一条。在本例中,前后语句之间的依赖关系可以很明显地从子程序名。
- 设法组织代码,使依赖关系变得非常明显
- 使子程序名能突显依赖关系
- 利用子程序参数明确显示依赖关系
- 用注释对不清晰的依赖关系进行说明
- 用断言或者错误处理代码来检查依赖关系
顺序无关的语句
你也许见过这种情形,即代码中若干语句或语句块的先后顺序看上去完全没
有关系。一条语句并不依赖于或者在逻辑上承接另一条语句。但是顺序的确对可
读性、性能和可维护性有影响,而且当缺少执行顺序依赖关系的时候,你可以用
第二标准来判断语句或者代码块的顺序。这其中的指导原则就是就近原则
( Principle of Proximity):把相关的操作放在一起。
-
使代码易于自上而下地阅读
作为一条普遍性原则,要让程序易于自上而下阅读,而不是让读者的目光跳来
跳去。专家们认为自上而下的顺序对提高可读性最有帮助。简单地让控制流在运行
时自上而下地运行还不够。如果有人在阅读你代码的时候不得不搜索整个应用程序
以便找到所需的信息,那么就应该重新组织你的代码了。 -
把相关的语句组织在一起
检查相关的语句是不是组织得很好起来的一种简便方法是,打印出你的子程
序代码,然后把相关的语句画上框。如果这些语句排列得很好,你就会得到类似
于图141那样的图形,其中的方框是不会彼此交叠的。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YqltvgOB-1595748943878)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200726152316406.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TfIhMouQ-1595748943884)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200726152446864.png)]
核对表
| 组织直线型代码 |
|---|
| 代码使得语句之间的依赖关系变得明显吗? 子程序的名字使得依赖关系变得明显吗? 子程序的参数使得依赖关系变得明显吗? 如果依赖关系不明确,你是否用注释进行了说明? 你用“内务管理变量”( housekeeping variables)米检查代码中关键位置 的顺序依赖关系了吗? 代码容易按照自上而下的顺序阅读吗? 相关的语句被组织在一起吗? 把相对独立的语句组放进各自的子程序里吗? |
Key Points
- 组织直线型代码的最主要原则是按照依赖关系进行排列
- 可以用好的子程序名、参数列表、注释,以及一一如果代码足够重要一一内
务管理变量来让依赖关系变得更明显。 - 如果代码之间没有顺序依赖关系,那就设法使相关的语句尽可能地接近。
本文探讨了以语句为中心的编程视角,强调了代码结构的重要性,包括如何通过明确的语句顺序、依赖关系和就近原则来提升代码质量、正确性和可读性。
2万+

被折叠的 条评论
为什么被折叠?



