【笔记】自己用的16种代码规范

描述

 

 

1. 命名规范:

-变量和函数名应使用有意义的名词或动词短语,描述其用途或功能。

  •  
  •  

int temperature; // 温度变量void calculateAverage(); // 计算平均值的函数

-使用驼峰命名法或下划线命名法来命名变量、函数和常量。

  •  
  •  

int sensorValue; // 驼峰命名法const int MAX_VALUE = 100; // 下划线命名法

-使用大写字母命名宏定义和枚举常量,并使用下划线分隔单词。

  •  
  •  

#define BUFFER_SIZE 256enum Color { RED, GREEN, BLUE };


 

2. 缩进和格式化:

-使用一致的缩进风格,通常是四个空格或一个制表符。-使用大括号和适当的缩进来组织代码块。

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

if (condition){ // 代码块}else{ // 代码块}

-适当地使用空格来提高可读性,例如在运算符、逗号和分号之间加入空格。

  •  
  •  
  •  
  •  
  •  
  •  

int sum = a + b;int i, j;for (i = 0; i < n; i++){  // 代码块}

-使用空行来分隔逻辑上相关的代码块,提高代码的可读性。

  •  
  •  
  •  
  •  

// 代码块1
// 代码块2// 代码块3


 

3. 注释:

-在代码上方或关键部分添加注释,解释代码的目的、功能和实现方法。-使用清晰明确的注释,避免使用模糊或不必要的注释。

  •  
  •  
  •  
  •  
  •  

// 计算两个数的和int sum(int a, int b){ return a + b;}

 

4. 函数和模块化:

-将代码划分为小而独立的函数,每个函数负责完成一个特定的任务。-函数应具有单一责任,只做一件事情,并遵循函数的输入输出原则。

  •  
  •  
  •  
  •  
  •  
  •  
  •  

// 读取传感器值int readSensor(){ // 读取传感器代码 // ... return sensorValue;}


 

5. 错误处理:

-对可能出现错误的代码块进行错误检查,并采取适当的错误处理措施。-使用返回值、错误码或异常处理来指示和处理错误情况。

  •  
  •  
  •  
  •  
  •  
  •  

int result = performOperation();if (result != SUCCESS){ // 错误处理代码 // ...}

6. 常量和魔法数值:

-避免在代码中直接使用魔法数值(未经解释的硬编码值),应将其定义为常量并使用常量名。

-常量的命名应具有描述性和可读性,以便理解其含义。

  •  
  •  

const int MAX_SIZE = 100;const float PI = 3.14159;

 

7. 函数参数:

-如果函数参数较多,应考虑使用结构体或对象来传递参数,以减少函数参数列表的长度。-函数参数的顺序应该有逻辑性和一致性,便于阅读和使用。

  •  

 void processData(int id, float value, const char* name)


 

8. 错误处理和异常:

-在可能引发错误的代码块中使用适当的错误处理机制,例如返回错误码、抛出异常或执行回滚操作。-错误处理应该清晰明确,向调用者提供足够的信息以便调试和修复错误。

  •  
  •  
  •  
  •  
  •  
  •  

int result = performOperation();if (result != SUCCESS){ logError("操作执行失败: %d", result); return result;}


 

9. 可读性和注释:

-代码应具有良好的可读性,使用有意义的变量名和函数名,并避免使用过于复杂的表达式和嵌套结构。-注释应该清晰、简洁明了,并提供足够的上下文信息,帮助他人理解代码的意图和逻辑。

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

// 计算数组的平均值float calculateAverage(float* data, int size){ float sum = 0; for (int i = 0; i < size; i++) { sum += data[i]; } return sum / size;}


 

10. 单元测试和代码审查:

-编写适当的单元测试用例来验证代码的功能和正确性,确保代码的健壮性。-进行代码审查,让其他开发人员检查代码的质量和遵循规范的程度,以提供反馈和改进建议。
11. 模块化和函数长度:

-将代码分解为逻辑上独立的模块或函数,每个函数应该只负责一个具体的任务或功能。

-函数应保持简洁和紧凑,避免过长的函数体和过多的嵌套层级。长函数可以考虑进行重构和拆分。

 

12. 错误处理和异常:    

-在可能引发错误的地方进行适当的错误处理和异常处理。捕获并处理错误,以避免程序崩溃或无法预料的行为。-在发生错误时,提供有意义的错误消息和日志,以便于调试和故障排除。

13. 持续集成和自动化测试:

-使用持续集成工具和自动化测试框架来验证代码的正确性和稳定性。-设置自动化测试套件,包括单元测试、集成测试和端到端测试,以捕获潜在的问题和保证代码质量。

14. 版本控制和代码管理:

-使用版本控制系统(如Git)来管理代码的版本和变更历史。-遵循合适的分支策略,确保不同功能和修复的代码可以独立开发和集成。-使用合适的注释和提交信息,清楚记录每个版本的变更内容和目的。

 

15. 性能优化和资源管理:

-针对性能敏感的代码段进行优化,包括算法改进、数据结构优化等。

-考虑资源的有效管理,包括内存分配和释放、文件句柄的管理等。

 

16. 编码标准和风格指南:

-遵循特定的编码标准和风格指南,如Google C++ Style Guide、GNU Coding Standards等。

-在团队中达成一致,并确保所有开发人员都遵循相同的规范。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分