创建子程序的的正当理由:
1 降低复杂度
2 引入中间,易懂的抽象
3 避免代码重复
4 改善性能,对代码进行优化调优时,可以将改动局限在更小的部分
在子程序层面的代码设计:考虑程序的内聚性
1. 功能上的内聚性,比如cos() 要比 cos_or_tan()函数内聚性高
2. 降低过程上的内聚性,比如get_employee() 比get_first_part_of_employee() 好
3. 降低缺乏逻辑的内聚性,比如某些功能没有关联,人为的聚合在一起。
程序的名字
1. 描述程序所做的事情,以及副作用,特别地,如果用来描述某个程序,会导致名字特别长,应该考虑换一种方式写程序,直接了当处理问题,而不产生副作用。
2.避免使用含糊不清的动词,如handle,process
3.避免使用数字,如output1,output2等,无法自明其含义与区别
4.给函数命名时,要对其返回值有所描述
5.给过程起名字,使用语气强烈的动宾如,print_document
6.准确使用反义词 add/remove ,increase/decrease
7.给常用操作定义命名规范,如id的获取有getId() 还有直接使用id属性的情况,时间长了,对哪些类使用id属性,哪些类使用函数,会造成不必要的复杂度。
子程序的长度
超过200行的函数,就需要注意了。
子程序参数不要超过7个
参数排列按照一定规则,例如 输入-修改-输出等的顺序