C 编程规范(变量,结构体,typedef,函数,枚举,宏的命名)

C 编程规范(变量,结构体,typedef,函数,枚举,宏的命名)

文章目录

1、命名约定1.1 通用 命名规则1.2 文件名 命名规则1.3 变量 命名规则1.4 类型 命名规则1.5 函数 命名规则1.6 枚举 命名规则1.7 宏 的命名规则

2、函数3、质量保证4、程序效率5、注释命名的 常用缩写

1、命名约定

1.1 通用 命名规则

函数命名,变量命名,文件命名要有描述性,少用缩写。 注意,一些特定的广为人知的缩写是允许的,例如用i表示迭代变量(iteration)和用T表示模板参数(template)。

目前主要有 4种命名风格:

序号类型描述1驼峰 命名法首字母小写,每个逻辑断点都用大写字母来标记一般用于全局变量,函数、结构体变量、对象名示例:myData2帕斯卡(Pascal)命名法与驼峰命名法类似,只是 首字母大写一般用于结构名、类名示例:MyData3下划线 命名法函数名中的每个逻辑断点都用下划线 _分割C程序和UNIX这样的环境中,它的使用非常普遍一般用于函数、变量示例:my_data4匈牙利 命名法变量名前面加上相应的小写字母的符号标识作为前缀,标识出变量的作用域、类型等示例:i_MyData

1.2 文件名 命名规则

文件名要全部小写,可以包含下划线 _或连字符 -,,依照项目的约定。如果没有约定。那么下划线 _更好。 例如:my_useful_class.c

1.3 变量 命名规则

变量(包括函数参数) 和数据成员名一律小写,单词之间用下划线 _连接。 类的成员变量以下划线结尾,但结构体的就不用。

序号类别举例1局部变量,函数参数local_variable2结构体内的变量struct_data_member3类的成员变量class_data_member_

1.4 类型 命名规则

所有类型命名:类,结构体,类型定义(typedef),枚举,类型模板参数,均使用相同约定,即以大写字母开始,每个单词首字母均大写,不包含下划线(帕斯卡命名法)。例如:

class BookCartoon {

string title_;

string author_;

};

struct BookCartoon {

char title[40];

char author[40];

};

typedef struct {

char title[40];

char author[40];

} BookCartoon;

enum ButtonState {

SHORT_PRESS, /* 短按 */

LONG_PRESS, /* 长按 */

};

typedef enum {

SHORT_PRESS, /* 短按 */

LONG_PRESS, /* 长按 */

} ButtonState;

类型 变量 采用驼峰命名:

序号类别举例1结构体变量bookCartoon2对象名bookCartoon3枚举变量buttonState

1.5 函数 命名规则

一般来说,函数名的每个单词首字母大写,没有下划线。 对于首字母缩写的单词,更倾向于将它们视作一个单词进行首字母大写。

序号方式描述1驼峰 命名法myFunctio(),deleteUrl()2下划线 命名法my_function()3帕斯卡(Pascal)命名法MyFunction(),DeleteUrl()

1.6 枚举 命名规则

枚举的命名应当和常量或宏一致:kEnumName或是ENUM_NAME。

typedef enum {

BS_SHORT_PRESS, /* 短按 */

BS_LONG_PRESS, /* 长按 */

} ButtonState;

1.7 宏 的命名规则

命名全部大写,使用下划线 _连接。

#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL

2、函数

序号描述1一个函数 仅完成 一件功能2重复代码 应该尽可能提炼成 函数3避免函数的代码块嵌套过深4对函数的错误返回码要全面处理5在源文件范围内声明和定义的所有函数,除非外部可见,否则应该增加static关键字

3、质量保证

序号原则描述1正确性程序要实现设计要求的功能2简洁性程序易于理解并且易于实现3可靠性程序在给定时间间隔和环境条件下,按设计要求成功运行程序的概率4可维护性程序被修改的能力,包括纠错、改进、新需求或功能规格变化的适应能力5代码 可测试性软件发现故障并隔离、定位故障的能力,以及在一定的时间和成本前提下,进行测试设计、测试执行的能力6代码 性能高效尽可能少地占用系统资源,包括内存和执行时间7可移植性为了在原来设计的特定环境之外运行,对系统进行修改的能力

4、程序效率

在保证软件系统的 正确性、简洁、可维护性、可靠性 及 可测性的前提下,提高代码效率。

5、注释

优秀的代码 不写注释也可轻易读懂,注释无法把糟糕的代码变好,需要很多注释来解释的代码往往存在坏味道,需要重构。

命名的 常用缩写

Primitive(原语)缩写翻译receiverecv接收sendsend发送argumentarg-bufferbuf-commandcmd-comparecmp-configcfg-devicedev-errorerr-hexadecimalhex-initializeinit-maximummax-minimummin-messagemsg-parameterparam-previousprev-registerreg-synchronizesync-temptmp-

相关推荐

超自然行动组精绝女王高成功率抓捕指南
法国VS秘鲁(2018世界杯)
《江南百景图》杭州府如何打开 杭州府打开方式