最后我阅读的是第七章——高质量的子程序
首先,子程序的概念:为实现一个特定目的而编写的一个可被调用的方法或者过程。
要点
- 创建子程序最主要的目的是提高程序的可管理性。其中,节省代码空间只是一个次要的原因:提高可读性、可靠性和可修改性等原因都更重要一些‘
- 有时候,把一些简单的操作写成独立的子程序也非常有价值
- 子程序可以按照其内聚性分为很多类,而你应该让大多数子程序具有功能上的内聚性,这是最佳的一种内聚性
- 子程序的名字是它的质量指示器。如果名字糟糕但恰如其分,那就说明这个子程序设计得很差劲。如果名字糟糕而且又不准确,那么它就反映不出程序是干什么的。不管怎样,糟糕的名字意味着程序需要修改。
- 只有在某个子程序的主要目的是返回由其名字所描述的特定结果时,才应该使用函数
- 细心的程序员会非常谨慎的使用,而且只在万不得已的时候才用。
1. 创建子程序的好处
1)降低复杂度
2)引入易懂的抽象,简化复杂的布尔判断
3)避免代码重复
4)提高可移植性
2.子程序设计原则
一般的原则就是提高子程序的内聚性,目标是一个子程序只把一件事情做好。
3.良好的子程序命名原则
良好的命名可以提高程序的可维护性,能够清晰地描述子程序所做的一切
- 描述子程序所做的所有事情
- 避免使用无意义的、模糊或者表述不清的动词
- 不要仅通过数字来形成不同子程序名字
- 根据需要确定子程序名字的长度
- 给函数命名时要对返回值有所描述
- 给过程起名时使用语气强烈的动词加宾语的形式(面向对象语言中不需要宾语)
- 为常用操作确定命名规则
4.子程序的参数使用
- 按照输入->修改->输出排列参数
- 如果几个子程序都用了类似的一些参数,应该让这些参数的排列顺序保持一致
- 使用所有的参数
- 把状态或出错变量放在最后
个人体会:
在子程序这方面,是从C++(面向对象程序设计)开始使用的,当时就是将不同功能的代码放在不同的文件下,已实现不同的功能,代码之间可以调用。当时代码量也就是300~500行,放在一个文件下面已经非常乱了,但是放在子程序里面就好多了,但当时子程序的命名都是很随便的,等到了大二学习javaweb后才懂得子程序的重要性,上万行代码如果只放在一个文件中,结果可想而知。
但是,并不是说分了子程序就一定是好的,有时候子程序调用也会出现错误,所以细心的程序员会非常谨慎的使用,而且只在万不得已的时候才用。