• 高质量的子程序


    高质量的子程序

    子程序说明
    创建子程序的理由降低复杂度
    引入中间的、易懂的抽象
    避免代码重复
    支持子类化
    隐藏顺序
    隐藏指针操作
    提高可移植性
    简化复杂的布尔判断
    改善性能
    创建类的理由也是创建子程序的理由隔离复杂度
    隐藏实现细节
    限制变化带来的影响
    隐藏全局数据
    形成中央控制点
    促成可重用代码
    达到特定的重构目的
    功能的内聚性最强最好的一种内聚性
    一个子程序仅执行一项操作
    不够理想的内聚性顺序上的内聚性
    通信上内聚性
    临时的内聚性
    不可取的内聚性过程上的内聚性
    逻辑上的内聚性:事件处理器
    巧合地内聚性
    好的子程序名字描述子程序所做的的所有事情
    避免使用无意义的、模糊或表述不清的动词
    不要仅通过数字来形成不同的子程序的命名
    根据需要确定子程序名字的长度
    给函数命名时要对返回值有所描述:cos()
    给过程起名时使用语气强烈的动词加宾语的形式:PrintDocment()
    准确使用对仗词
    为常用操作确立命名规则
    常见的对仗词add/remove increment/decrement open/close
    begin/end insert/delete show/hide
    create/destroy lock/unlock source/target
    first/last min/max start/stop
    get/put next/previous up/down
    get/set old/new
    子程序可以写多长50-150行代码
    如何使用子程序参数按照输入-修改-输出的顺序排队参数
    几个子程序使用类似的参数,排列保持一致
    把状态或出货变量放在最后
    不要把子程序的参数当作工作变量
    对参数的假定尽心说明:单位、范围、特殊值等
    参数个数限制在7个以内
    对参数采用某种表述输入、修改、输出的命名规则:i_、m_、o_前缀
    为子程序传递用以维持其接口抽象的变量或对象
    使用具名参数
    确保实际参数与形式参数相匹配
    宏子程序把宏表达式整个包含在括号内
    把含有多条语句的宏用大括号括起来
    用给子程序命名的方法来给展开后代码形同子程序的宏命名,以便在需要时用子程序来替换宏,但这种做法具有风险
  • 相关阅读:
    npm install pubsub-js报错的解决汇总
    Apollo 应用与源码分析:Monitor监控 - 基本概念与入口分析
    蜣螂优化(DBO)求解置换流水车间调度问题(PFSP)
    关于近期轻量化部署任务的一个小结
    SpringMVC之自定义注解
    【vue设计与实现】非原始值的响应式方案 12-代理Set和Map-避免污染原始数据
    手把手带你搭建个人博客系统(一)
    前端文件流相关
    手撸二叉树——二叉查找树
    elasticsearch 7.x的 常用命令
  • 原文地址:https://blog.csdn.net/u010650845/article/details/126617749