首页 > 编程语言 >《代码大全2》阅读笔记四——高质量的子程序

《代码大全2》阅读笔记四——高质量的子程序

时间:2022-10-30 20:56:22浏览次数:48  
标签:顺序 代码 高质量 使用 操作 内聚性 子程序 大全

要谈论到高质量的子程序之前,要先知道什么是子程序?

子程序是计算机科学中一项最为重大的发明,是迄今为止发明出来用以节约空间和提高性能的最重要的手段。

在阅读完这一章节之前,我认为子程序可以节省空间和提高性能的最大体现就是避免了重复代码,将重复的代码写进一个子程序里面,使用的时候直接调用就行。

但实际上创建子程序的正当理由主要为:

  • 降低复杂——将一个程序的复杂度降低,即提前写好几个子程序,在使用子程序时,直接调用即可
  • 引入中间、易懂的抽象
  • 避免代码重复——将需要使用的相同的代码写进一个子程序,使用时再调用
  • 支持子类化
  • 隐藏顺序——把处理事件的顺序隐藏起来
  • 隐藏指针操作——避免出现读不懂指针的处境
  • 提高可移植性——可以更方便的移植某些代码
  • 简化复杂的布尔判断
  • 改善性能
  • 确保所有子程序都很小

总之创建一个子程序的好处有好多,想要解决以上问题时,可以通过创建子程序来解决

在子程序层上的设计

在谈对于子程序层的设计之前,先聊一下内聚性。内聚性是指子程序中各种操作之间联系的紧密程度。

功能的内聚性——一个子程序仅执行一项操作,即addData()等一系列的子程序

顺序的内聚性——子程序内包含需要按特定顺序执行的操作,这些步骤需要共享数据,而且只有在全部执行完毕后才算完成一项完整的功能

通信的内聚性——指一个子程序中的不同操作使用了同样的数据,但不存在其它任何联系。

临时的内聚性——临时需要放在一起操作的子程序

过程上的内聚性——子程序上的操作按着一定的顺序进行,比如说某个程序获得员工的姓名、年龄、工资等,需要与咱们输入的数据保持一致。

逻辑上的内聚性

在这些内聚性里面。最重要的就是功能的内聚性,学好这一类可以在很多代码里面用到

好的子程序的名字

一个好名字可以让我们清晰的了解到子程序的作用

子程序的一些命名指导:

  • 描述子程序所做的所有的事情
  • 避免使用无意义的、模糊或表达不清的动词
  • 不要仅通过数字来形成不同的子程序名字
  • 根据需要确定子程序名字的长度
  • 给函数命名时要对返回值有所描述
  • 给过程起名时使用语气强烈的动词加宾语的形式
  • 准确使用对仗词
  • 为常用操作确立命名规则

对于子程序的长度,经过研究表明,200行以下是一个最佳的选择

如何使用子程序参数

按照输入——修改——输出的顺序排列参数——不要随机使用字母来表示参数

如果几个子程序都用了类似的一些参数,应该让这些参数的排列顺序保持一致

保证实参和形参相匹配

如何使用函数

对于函数而言,我们应清楚的明白什么时候使用函数——只用在某个子程序的主要目的是返回其名字所描述的特定结果时,才应该使用函数

设置函数的返回值

谨慎使用宏定义:宏定义在许多方面上都有一些问题

 

标签:顺序,代码,高质量,使用,操作,内聚性,子程序,大全
From: https://www.cnblogs.com/jiacheng-712/p/16842205.html

相关文章

  • 2022.10代码大全阅读心得1
    第11章:变量名的力量问题:怎样给一个变量命名?长名字还是短名字?命名的最佳实践有哪些?有哪些常见的命名方法?在命名中应该要避免的东西有哪些?怎样给一个变量命名?通......
  • 2022.10代码大全阅读心得2
    第十四章组织直线型代码14.1必须有明确顺序的代码对于具有明显的顺序关系的代码,应该使用顺序结构。对于隐含的顺序关系,应该:去除不合理的依赖关系(如不应该在Calculat......
  • 代码大全03
    1.翻译总体质量很好,但也有些翻译的不是很贴切,或者和当前惯例译法不一样的地方,可能会对理解造成障碍,但是译者会适时加上原本的单词,影响不是很大2.书中的......
  • 编程开发-面试-数据分析视频教程阿里云盘资源大全
    编程开发-面试-数据分析教程合集6.6T(最全)Python编程教程合集(80套207GB)Java-30套Web-28套C-C++29套Go-15套Spring-29套Linux-10套面试通关人工智能_云计算R......
  • 代码大全三
    代码大全,第三章,软件创建的先决条件,一个软件的质量是由你的准备工作占整个开发流程的时间决定的。在开始修造一幢房屋之前,建筑工人会评审蓝图,确认所有用料已经备齐,并检查......
  • 代码大全第四章
    第四章主要讲的是一些细节问题,比如使用什么编程语言来编程、编程过程中的一些约定等等。编程约束还是很重要的,这方面很重要,尤其是在与人合作的时候。如果编程约束设定的好......
  • 读《代码大全》有感——语句
    在结束完疯狂星期五之后,难得过一个周六,于是我把放在书架上很久的代码大全拿了出来,阅读了有关语句的相关内容。1.组织直线型的代码组织直线型代码的最主要原则是按照依赖......
  • MATLAB命令大全(转载)
    MATLAB命令大全管理命令和函数   help     在线帮助文件   doc     装入超文本说明   what     M、MAT、MEX文件的目录列表   type  ......
  • 《代码大全2》读书笔记四
    第十四章组织直线型代码14.1必须有明确顺序的代码对于具有明显的顺序关系的代码,应该使用顺序结构。对于隐含的顺序关系,应该:去除不合理的依赖关系(如不应该在Calculat......
  • 《代码大全2》 读书报告3
                 《代码大全2》---读书报告三  最近半个月,我阅读了《代码大全2》的第五章,第五章主要讲了设计在软件项目中的重要地位,书中借Taco......