个人总结的一些C/C++编码规范

对于不同的编程语言来说,具体的编码规范可以有很大的不同,但是其宗旨都是一致的,就是保证代码在高质量完成需求的同时具备良好的可读性、可维护性。例如我们可以规定某个项目的C语言程序要遵循这样的规定:变量的命名,头文件的书写和#include 等等。

下面是一些广为采用的编码规范:

  • GNU Coding Standards
  • Guidelines for the Use of the C Language in Vehicle Based Software
  • C++ Coding Guidelines
  • SUN Code Conventions for Java

以下是一些介绍编码、编码规范的书籍:

  • C++编码规范,陈世忠,人民邮电出版社,2002
  • 高质量程序设计指南:C++/C语言,林锐等,电子工业出版社,2003

注:以下只是根据课题组已有的经验给出的总结,并非对所有场景均适用。

对于高质量的工程,一般会做到:

  1. 代码简洁精炼,美观,可读性好,高效率,高复用,可移植性好,高内聚,低耦合,没有冗余,不符合这些原则,必须特别说明。
  2. 规范性,代码有规可循。特殊排版、特殊语法、特殊指令,必须特别说明。

一、文件排版方面

  1. 包含头文件
    1.1 先系统头文件,后用户头文件。
    1.2 系统头文件,稳定的目录结构,应采用包含子路径方式。
    1.3 自定义头文件,不稳定目录结构,应在dsp中指定包含路径。
    1.4 系统头文件应用:#include <xxx.h>
    1.5 自定义同文件应用:#include "xxx.h"
    1.6 只引用需要的头文件。

  2. h和cpp文件
    2.1 头文件命名为*.h,内联文件命名为*.inl;C++文件命名为*.cpp
    2.2 文件名用大小写混合,或者小写混合。例如DiyMainView.cppinfoview.cpp。不要用无意义的名称:例如XImage.cppSView.cppxlog.cpp
    2.3 头文件除了特殊情况,应使用#ifdef控制块。
    2.4 头文件#endif应采用行尾注释。
    2.5 头文件,首先是包含代码块,其次是宏定义代码块,然后是全局变量,全局常量,类型定义,类定义,内联部分。
    2.6 CPP文件,包含指令,宏定义,全局变量,函数定义。

  3. 文件结构
    3.1 文件应包含文件头注释和内容。
    3.2 函数体类体之间原则上用2个空行,特殊情况下可用一个或者不需要空行。

  4. 空行
    4.1 文件头、控制块,#include部分、宏定义部分、class部分、全局常量部分、全局变量部分、函数和函数之间,用两个空行。

二、注释方面

  1. 文件头注释
    1.1 作者,文件名称,文件说明,生成日期(可选)

  • 47
    点赞
  • 218
    收藏
    觉得还不错? 一键收藏
  • 22
    评论
C/C++ 编码规范是华为内部使用的一套编码标准,用于规范C和C++程序代码的书写风格和命名约定等方面。该编码规范旨在提高代码的可读性、可维护性和可重用性,从而提高团队协作效率和软件质量。 在C/C++ 编码规范中,主要包括以下方面的内容: 1. 代码布局:包括缩进、空格、注释等,统一代码的整体风格,使得代码易于阅读和理解。 2. 命名规范:通过明确的命名约定,提高代码的可读性和可理解性。变量、函数、宏定义等命名应该具有一定的描述性,避免使用缩写和无意义的命名。 3. 函数和模块规范:规定函数的输入输出、异常处理等方面的要求,以及模块之间的接口规范,保证代码的健壮性和功能完整性。 4. 内存管理:包括变量的作用域、生命周期、动态内存分配和释放等方面,遵循良好的内存管理习惯,防止内存泄漏和悬挂指针等问题。 5. 错误处理和异常:规范错误处理的方法和异常处理的机制,提高程序的健壮性和容错性。 6. 多线程和并发:指导多线程程序的编写,包括线程同步、互斥锁、条件变量等方面的要求,避免出现竞态条件和死锁等问题。 7. 代码复用和模块化:鼓励使用函数和类的封装,提高代码的重用性和可维护性。 通过遵循C/C++ 编码规范,开发人员可以编写出结构清晰、可读性强、可维护的代码,提高代码的质量和开发效率,减少潜在的问题和错误。这对于一个大型的软件开发团队来说至关重要,能够保证团队成员之间的协作顺利进行,并且方便代码的交接和版本管理。华为作为一家知名的通信技术公司,采用C/C++ 编码规范有助于提高其软件产品的可靠性和可信度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值