【代码大全】——组织直线型代码

本文探讨了以语句为中心的编程视角,强调了代码结构的重要性,包括如何通过明确的语句顺序、依赖关系和就近原则来提升代码质量、正确性和可读性。

组织直线型代码

本章从以数据为中心的编程观点转到以语句为中心的观点上。

即按先后顺序放置语句和语句块。

尽管组织直线型代码是一个相对简单的任务,但代码结构上的一些微妙之处还是会对代码的质量、正确性、可读性和可维护性带来影响。

必须有明确顺序的语句

示例:有前后依赖关系的语句

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

  • 组织直线型代码的最主要原则是按照依赖关系进行排列
  • 可以用好的子程序名、参数列表、注释,以及一一如果代码足够重要一一内
    务管理变量来让依赖关系变得更明显。
  • 如果代码之间没有顺序依赖关系,那就设法使相关的语句尽可能地接近。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值