天天看点

C++编码规范C++编码规范–学习笔记

C++编码规范–学习笔记

C++编码规范C++编码规范–学习笔记

一、排版

(1)基本排版要求

  1. 代码长度不超过80个字符
  2. 使用4个空格替代tab
  3. 一行只写一句代码
  4. if/while/switch等之后的花括号要换行
  5. 添加空格和空行使代码更加清晰
  6. 换行后注意缩进
  7. 变量申明对齐

(2)添加空格与空行

  1. 要加空格的位置

    –二元的数学和逻辑运算符号(双目运算符)两边都加上一个空格

    –逗号、分号只在后面加空格

    –if、while、for、switch等关键字与之后的左括号之间加空格

  2. 不加空格的位置

    –函数名与之后的左括号质检,带参数的宏与之后的左括号之间不加空格

    –单目操作前后不分空格,"->"、"."前后不加空格

    –逗号、分号、冒号之间不加空格

  3. 要加空行的位置

    –函数定义的前后

    –一组联系紧密的代码段之间和之后

(3)换行缩进

  1. 代码缩进统一以四个空格为单位
  2. 函数内容、条件语句、循环语句的执行部分需要缩进

(4)一行一句代码

  1. 引起歧义,严重的可能引擎程序Bug
  2. 一行多句在IDE上跟踪时不方便调试
C++编码规范C++编码规范–学习笔记

二、命名

(1)命名基础要求

  1. 简约,但不简单

    –命名应简练,可以用缩写的就缩写(sum、min、ave)

    –不要过度使用缩写,不适用不常见的缩写

  2. 顾名思义

    –命名应可以直观地表达对象的含义作用

    –函数名通常使用指令型的动词,变量通常使用描述型名词

    –使用英文,不使用汉字拼音

  3. 一致性

    –命名法应在同一个项目中始终保持统一

(2)命名法

  1. 匈牙利命名法(适用于简单类型变量名)

    –开头字母用变量类型的缩写

    –其余部分用变量的英文或英文缩写

    –要求单词第一个字母大写

int iMyAge;
char cMyName[10];
float fManHeight;
           
  1. 驼峰式命名法(小驼峰命名法,适用于函数、变量、枚举类型等)

    –第一个单词首字母小写

    –后面其他单词首字母大写

int myAge;
char myName[10];
float manHegiht;
           
  1. 帕斯卡命名法(大驼峰命名法,适用于类和结构体)

    –每个单词的第一个字母都大写

int MyAge;
char MyName[10];
float ManHeight;
           
  1. Unix命名法(下划线命名法,适用于文件命名、namespace,宏、常量、枚举值采用Unix命名法+全部大写)

    –所有字母小写

    –各单词之间用下划线分隔

int my_age_;
char my_name[10];
float man_height_;
           
C++编码规范C++编码规范–学习笔记

三、注释

(1)文件注释

  1. 位于文件开头
  2. 文档化风格
  3. 内容:功能描述,作者信息,编码更新日期等
  4. VSCode可通过KoroFileHeader自动生成

(2)类注释

  1. 位于类声明的上方
  2. 内容:功能描述,作者信息,编写日期等信息
  3. VSCode可通过KoroFileHeader自动生成

(3)函数注释

  1. 位于函数声明的上方
  2. 内容:函数功能,参数,返回值、线程安全等信息
  3. 在函数实现处使用介于自然语言和程序语音之间的伪语言,添加具体算法描述

(4)其他注释

  1. 变量、常量注释

    –含义简单可以选择行内注释

    –含义复杂可以在声明的上方注释

  2. 作用域注释、条件编译注释

    –在作用域或条件编译语句结束的位置添加

继续阅读