0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

撞上电子 2023-06-08 10:46 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1. 命名规范:

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

inttemperature;//温度变量voidcalculateAverage();//计算平均值的函数

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

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

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

#defineBUFFER_SIZE256enumColor{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;constfloatPI=3.14159;

7. 函数参数:

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

voidprocessData(intid,floatvalue,constchar*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等。

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

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

    关注

    30

    文章

    4985

    浏览量

    74577
  • 变量
    +关注

    关注

    0

    文章

    616

    浏览量

    29628
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    一篇讲清楚 Claude 的三使用模式:Chat、Cowork、Code 到底有啥区别?

    是命令行写代码,Cowork 又是什么?为什么 Anthropic 要做三个产品?我应该用哪个? 这篇文章一万字(不到)讲清楚这三模式的定位、差异、适用场景,以及如何根据自己的工
    的头像 发表于 05-18 11:59 199次阅读

    笔记本CPU高速数字可调降压控制器MAX1710/MAX1711/MAX1712深度剖析

    笔记本CPU高速数字可调降压控制器MAX1710/MAX1711/MAX1712深度剖析 在笔记本电脑的CPU供电设计中,电源管理芯片的性能至关重要。MAX1710/MAX1711/MAX1712
    的头像 发表于 03-21 11:15 912次阅读

    如何规范、但不滥用局部变量(Local Variable)

    前面已产生的值(读局部变量相对安全)。 UI刷新:把计算结果分发到多个显示控件(尤其在事件结构里,集中计算后分发显示)。 临时过渡:重构旧代码时短期使用,之后应回到线传递或架构化方式。 不建议
    发表于 02-04 08:42

    【社区之星】向悫——通过文档来梳理自己的思路,让自己思维更细致,更规范

    硬件到软件。就差没有学操作系统了。 我也从这些知识中,根据自己所在的行业,对部分的知识做了深挖和拓展。 工作经历 从2013年开始工作,一直从事研发相关工作。先后从事2.4G无线射频音频设备开发;工业
    发表于 12-19 10:35

    那些年我OpenCV+Qt趟过哪些坑?写给视觉应用开发者的避坑指南

    前阵子,团队里新来的小伙子跑来找我,眉头紧锁。他手里的项目我清楚:一个基于摄像头的简单计数工具。Demo阶段Python+OpenCV,几行代码跑得飞快,准确率也好看。可一旦要打包成给产线工人
    的头像 发表于 12-02 09:40 614次阅读
    那些年我<b class='flag-5'>用</b>OpenCV+Qt趟过哪些坑?写给视觉应用开发者的避坑指南

    小红书获取笔记正文和点赞数的API接口

    API访问步骤、代码示例和最佳实践。 1. API接口介绍 小红书提供开发者API,允许授权用户访问平台数据。获取笔记正文和点赞数通常涉及以下步骤: 认证 :首先,注册为小红书开发者,获取API密钥(API Key)和访问令牌(Access Token)。这需要在小红
    的头像 发表于 11-18 16:27 1644次阅读
    小红书获取<b class='flag-5'>笔记</b>正文和点赞数的API接口

    【综述】工作总有规范——测试执行和bug

    关于测试工作的规范,上次讨论了例部分。本次将继续聊下测试执行期间的规范标准,是主要需要测试执行人员关注的部分。【测试执行】测试执行规范或标准,主要是为了确保测试人员“在正确的环境做正
    的头像 发表于 10-24 10:04 581次阅读
    【综述】工作总有<b class='flag-5'>规范</b>——测试执行和bug

    数据中心锂电,安全设计、科学选型、合理部署是关键

    数据中心应用锂电本身并无不妥,关键在于实现电池技术、应用场景与安全策略的精准匹配和规范执行,不在于“”,而在于“对”。
    的头像 发表于 10-10 09:33 1029次阅读
    数据中心<b class='flag-5'>用</b>锂电,安全设计、科学选型、合理部署是关键

    代码格式化工具Clang-Format提升你的CW32工程质量

    它能自动统一团队代码风格,让不同开发者写出的代码如出一辙。就像 CW32 官方库函数遵循统一规范一样,Clang-Format 能让团队所有成员的代码瞬间保持一致,彻底消除 "tabs
    的头像 发表于 10-09 17:43 1383次阅读
    <b class='flag-5'>代码</b>格式化工具Clang-Format提升你的CW32工程质量

    睿远研究院丨IO-Link规范解读(一):技术定义与组织规范

      IO-Link 技术定义与组织规范 从今日起,小睿将开始长篇连载IO-Link规范解读系列文章,帮助大家理解和熟悉IO-Link规范,并把IO-Link技术应用到自己的产品中去。这
    的头像 发表于 09-18 18:17 1414次阅读
    睿远研究院丨IO-Link<b class='flag-5'>规范</b>解读(一):技术定义与组织<b class='flag-5'>规范</b>

    VSCode 编写自己的 KiCad 插件(下)

    “  很多小伙伴都想自己开发 KiCad 插件,但不知从何入手。本文由华秋电子的另一位 KiCad 开发者波波同学撰写,分享了如何快速搭建环境,并开发一个简单的插件。  ”       所有环境配置
    的头像 发表于 06-19 11:44 3332次阅读
    <b class='flag-5'>用</b> VSCode 编写<b class='flag-5'>自己</b>的 KiCad 插件(下)

    VSCode编写自己的KiCad插件(上)详细步骤教程

    “  很多小伙伴都想自己开发 KiCad 插件,但不知从何入手。本文由华秋电子的另一位 KiCad 开发者波波同学撰写,分享了如何快速搭建环境,并开发一个简单的插件。  ” 目标     编写一个
    的头像 发表于 06-17 11:10 3534次阅读
    <b class='flag-5'>用</b>VSCode编写<b class='flag-5'>自己</b>的KiCad插件(上)详细步骤教程