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

    文章

    4941

    浏览量

    73154
  • 变量
    +关注

    关注

    0

    文章

    615

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    第二批工业机器人行业规范企业名单公布

    近日,国家工信部公示了“符合《工业机器人行业规范条件(2024版)》(以下简称《行业规范》)的企业名单(第二批)”,据公告显示,有21家机器人产业链企业入选第二批符合《行业规范》企业名单,公示时间为10月10日-
    的头像 发表于 10-16 14:13 774次阅读
    第二批工业机器人行业<b class='flag-5'>规范</b>企业名单公布

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

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

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

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

    同样的代码在官方开发板上运行正常,在自己板子上就跑不起来,怎么办?

    同样的代码在Nordic官方开发板上可以运行正常,但在自己板子上就跑不起来,如果你碰到了上述情况,建议按照如下步骤进行自检: 首先确认用户板元器件焊接良好,功能正常。如果你的板子有LED的话,你可以
    的头像 发表于 05-12 15:26 584次阅读
    同样的<b class='flag-5'>代码</b>在官方开发板上运行正常,在<b class='flag-5'>自己</b>板子上就跑不起来,怎么办?

    为什么你拿着《规范》,却不会“设计”?

    特别注意输入电容的放置,如图所示,将电容放置在芯片背面(减小了和开关管的距离),所测得噪声大小要远小于其他两方式(电容放在侧面和较长的引线连接电容)。 不同电容情况的辐射对比 随着先进封装的发展,更多
    发表于 04-28 16:21

    如何为micropython添加自己的C代码库?

    部分代码需要更高效的效率 如何为micropython添加自己的C代码库? 是否有教程? 如果可以的话是否可以提供一个实现实例?
    发表于 03-11 07:03

    模电手账笔记16

    模电手账笔记16
    的头像 发表于 03-03 16:17 486次阅读
    模电手账<b class='flag-5'>笔记</b>(<b class='flag-5'>16</b>)

    代码与传统开发的区别 低代码与无代码开发的区别

    在软件开发领域,传统开发、低代码开发以及无代码开发是三不同的开发方式,每种方式都有其独特的优势和适用场景。 一、低代码开发与传统开发的区别 低代码
    的头像 发表于 01-31 10:48 1069次阅读

    2025款LG gram Pro笔记本首销

    耐用,还提供泰坦蓝、白色和金属灰等多种配色。 配置方面,该笔记本可选英特尔酷睿Ultra7 255H/256V处理器。内存有16GB或32GB的LPDDR5x可选,搭配1TB的PCIe 4.0 SSD
    的头像 发表于 01-23 14:51 907次阅读

    华为支付接入规范

    空白页拉起收银台。 华为支付设计规范 华为支付是一方便、安全和快捷的支付方式。 1.场景介绍 华为支付图标通常在收银台等界面展示,如下图所示: 图标大小 在核心使用场景下的实际尺寸通常有 48x48
    发表于 01-23 09:27

    自己搭建达龙云电脑,自己搭建达龙云电脑的详细操作步骤

    随着移动互联网的快速发展,人们对计算设备的便携性和灵活性提出了更高的要求。云电脑以其独特的云架构,为用户提供了全新的使用体验。今天就为大家介绍自己搭建达龙云电脑的详细操作步骤。    搭建自己的达龙
    的头像 发表于 01-16 10:42 979次阅读
    <b class='flag-5'>自己</b>搭建达龙云电脑,<b class='flag-5'>自己</b>搭建达龙云电脑的详细操作步骤

    云服务器 Flexus X 实例:部署 Gitea,拥有自己的 Git 仓库,管理本地代码

    、零售、金融、游戏等众多领域的通用工作负载需求。本文旨在详细阐述如何高效利用“云服务器 Flexus X 实例”,包括如何在其中从零开始,通过安装相关依赖、安装 Docker、安装 Gitea 等步骤,实现自己的 Git 仓库,管理本地代码。精彩内容,不容错过,快来一探究
    的头像 发表于 01-07 16:59 754次阅读
    云服务器 Flexus X 实例:部署 Gitea,拥有<b class='flag-5'>自己</b>的 Git 仓库,管理本地<b class='flag-5'>代码</b>

    自己电脑搭建云主机,自己电脑如何搭建云主机?

      如今,服务器远程连接技术正逐渐成为行业的新宠,它代表着服务器管理领域向高效化、智能化迈进的发展趋势。本文将带你剖析自己电脑如何搭建云主机。 自己电脑搭建云主机是一经济实惠且具有可行性的选择
    的头像 发表于 01-06 09:55 1450次阅读
    <b class='flag-5'>自己</b>电脑搭建云主机,<b class='flag-5'>自己</b>电脑如何搭建云主机?

    基于 Flexus 云服务器 X 实例的应用场景 - 私有化部署自己笔记平台

    ,为其他人提供一些便利帮助。 一般记录自己笔记的方式有好多种,比如在开源的博客平台上发布,比如 CSDN,博客园,51CTO 博客、公众号等。另一方式就是:自己部署一款私有化的
    的头像 发表于 01-02 09:55 649次阅读
    基于 Flexus 云服务器 X 实例的应用场景 - 私有化部署<b class='flag-5'>自己</b>的<b class='flag-5'>笔记</b>平台