个人程序命名规范

个人程序命名规范

程序命名规则

函数命名参考 google 命名规范, 但是由于自己的项目实际存在其他的库以及其他的程序,所以不能完全依赖,
以及存在一些个人的命名习惯,所以仅供参考

文件名

文件名一般是类名,部分是 单词的组合,有三种格式

  • FileName 首字母大写
  • fileName 除第一个单词首字母大写
  • filename 全小写
  • xxx_1107 避免冲突的文件存储
  • xxx_date_time_xx 根据日期时间以及 临时 避免数据重复

一般来说, 同名文件存在 .cpp 和 .h 两种对应格式, 相应的 .cpp/.cc 存放在 Code/src 文件夹, .h 存放在 Code/inc 文件夹
具体的文件列表可以参考 项目文档里面列出的文档树以及文档里面详细介绍了每个文件的内容

按照拓展名区分文件类型

  • C/C++ 文件

    • .c 纯 c 文件
    • .cpp 部分 QT 的提升组件 以及主要执行文件
    • .cc 自定义类的实现文件
    • .h 类的声明文件
    • ui_xxx.h qt 使用 uic 编译 ui 生成的头文件
    • moc_xxx.h qt 使用 moc 编译 Object 类生成的 moc 文件, 处理信号与槽
    • test_xxx.cc 使用doctest 的写的测试函数
  • 文档文件

    • .md 自己写的各个模块的文档
    • .doc doc 格式文档, 后续生成即可
    • .html doxygen 通过注释生成的文件
  • 配置文件以及资源文件

    • .yml .xml opencv可以读取的配置文件
    • .pro .pri QT 工程文件,配置工程参数
    • .rc QT 编译资源文件
    • .ui QT 自己使用 ui 操作
    • .qml QT QML 界面文件
    • .ts QT 翻译家文件,用于多语言版本程序
  • 资源文件

    • .txt log 文件存储文件 或临时文件
    • .idoi 自定义存储文件结构
    • .png 文档需要的图片或者读取文件存储的格式
    • .xlsx 部分UI表 以及多无代码表 等表格存储 临时记录,最后会转进各个markdown 进行同一管理
    • .pdf 文档的部分版本留存,暂定规则之类
  • 其他文件

    • .bat 自己写的部分脚本 来实现操作的批量操作
    • .properties SonarQube 配置文件
    • .zip 程序压缩文件备份

类名

全部首字母大写
例如: CamProc. CamCapture. WorkWindow

函数名

  1. 普通函数:
    • 首字母大写 多个单词每个单词首字母大写, 例如: CreateMapMat, Init
    • QT 这种全大写,,省事, 例如: ShowImageOnQTLabel, RenderHCM
  2. QT的信号或者槽函数:
    • 使用 slot_ 开头命名 如: slot_render_HCM
    • 使用 Slot_ 开头命名 例如: Slot_UpdateUIByRunPara
    • 按照QT的规则, on_xxx_clicked 这种形式,表明函数信号: 例如: on_btn_work_exit_clicked
    • QT的信号函数, 完全自定义, 可以使用 signal 命名, 例如: signal_close_windows

变量名

变量参考匈牙利命名法, 使用 类型_变量名 来声明,

  1. 变量作用区域类型前缀

    • 全局变量 g_ g
    • 局部变量 (无) 争取全部小写
    • 成员变量 m_ + 其他类型 m + class 类型名
  2. 容器类型前缀 使用类型来做开头 主要是 queue 和 vector

    • q_ 自定义队列前缀
    • v_ vector 类型数据
  3. 变量类型前缀,基本使用类型的第一个字母小写来做

    • b_ bool 类型 变量
    • k_ 常量
    • c_ 字符类型
    • f_ float 变量
    • d_ double 类型变量
    • s_ 字符串变量 std::string 类型变量
    • a_ 图片类型 cv::Mat 避免各种字母重复
    • t_ 自定义 线程变量前缀
    • x_ 线程处理锁
    • ui 标识窗口的 ui 文件
    • (无) 类型 Class类 实现
  4. 结构体元素变量前缀

    • n 整型数据
    • r 图像区域 {x,y,width,height} 这种格式
    • St 结构体类型名称
    • (无) 使用大写字母 作为 结构体变量名称 如 Serial Image
原文地址:https://www.cnblogs.com/hugochen1024/p/12570799.html