• 高质量的子程序


    高质量的子程序

    子程序说明
    创建子程序的理由降低复杂度
    引入中间的、易懂的抽象
    避免代码重复
    支持子类化
    隐藏顺序
    隐藏指针操作
    提高可移植性
    简化复杂的布尔判断
    改善性能
    创建类的理由也是创建子程序的理由隔离复杂度
    隐藏实现细节
    限制变化带来的影响
    隐藏全局数据
    形成中央控制点
    促成可重用代码
    达到特定的重构目的
    功能的内聚性最强最好的一种内聚性
    一个子程序仅执行一项操作
    不够理想的内聚性顺序上的内聚性
    通信上内聚性
    临时的内聚性
    不可取的内聚性过程上的内聚性
    逻辑上的内聚性:事件处理器
    巧合地内聚性
    好的子程序名字描述子程序所做的的所有事情
    避免使用无意义的、模糊或表述不清的动词
    不要仅通过数字来形成不同的子程序的命名
    根据需要确定子程序名字的长度
    给函数命名时要对返回值有所描述: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_前缀
    为子程序传递用以维持其接口抽象的变量或对象
    使用具名参数
    确保实际参数与形式参数相匹配
    宏子程序把宏表达式整个包含在括号内
    把含有多条语句的宏用大括号括起来
    用给子程序命名的方法来给展开后代码形同子程序的宏命名,以便在需要时用子程序来替换宏,但这种做法具有风险
  • 相关阅读:
    【C++】undered_set与undered_map
    java 字节流写入文件内容实现换行
    Vue 项目中使用 Pinia 状态管理详细教程
    一行代码禁止用户调试前端代码
    贝锐花生壳内网穿透推出全新功能,远程业务连接更安全
    ftp登录时,报错“530 Login incorrect.Login failed”
    dp入门课(一)
    python设置全局代理
    Cloudflare实现反代的两种方式,其中一种支持CNAME域名接入
    java Spring Boot pattern.console日志配置中clr支持的颜色
  • 原文地址:https://blog.csdn.net/u010650845/article/details/126617749