C语言常见编程规范简括

    科技2022-08-09  97

    1、用预处理语句保护头文件

    #ifndef 标识符

    #define 标识符

    …头文件内容…

    #endif

    2、注释

    ①文件:描述、作者、创建日期、修订记录(版本、日期、修订人)

    ②函数:函数名及描述、参数说明、返回值说明

    ③语句:注释行不低于代码行20%

    3、代码整洁

    ①代码行缩进对齐用table键,不要手敲空格。

    ②一行太长用“\”换行

    ③{}括号使用、空格间隔

    4、命名规则

    匈牙利命名法、驼峰命名法、蛇形命名法

    5、类型名重定义

    char、int用typedef重定义类型名(不同机器,字节长度可能不一致)

    6、结构体对齐

    ①四字节

    ②#pragma pack

    7、变量

    ①初始化:结构、数组用memset

    ②拷贝:结构、数组、指针用memcpy——安全函数

    ③局部变量少于10KB(具体结合资源大小)

    ④全局变量加static,其它源文件若需要调用,用函数封装成供外部调用的接口(set、get)

    8、函数

    ①入参检查

    ②无返回值时,结束也用return显式结束

    ③长度<200行

    ④函数被调用,判断返回值(无返回值时在调用函数前加(void))

    ⑤函数入参若是结构体,使用指向结构的指针。

    ⑥形参不宜过多(不超过5个),无形参加void,

    ⑦形参若不允许修改,加上const(注意区分顶层、底层const)

    9、常数

    ①常数一般用宏表示(宏定义时一般要加上括号)

    ②if语句,判断条件中常数or常量在左

    10、使用memcpy、strcpy等对应的安全函数

    11、资源释放

    ①动态内存分配必有释放对应,尽量少动态分配内存,减少内存碎片

    ②句柄释放

    ③加锁要释放、注意死锁(规避)

    ④代码中有异常终止处理语句时,注意内存释放。

    12、嵌套

    ①while、for内嵌不要太多

    13、递归

    尽量不使用递归,必须使用时加深度限制。

    14、goto语句尽可能不使用

    15、注意代码冗余,高内聚、低耦合

    16、打印

    ①异常加打印,注意区别u、d

    ②打印区分等级:error、notice、warning、debug,并根据等级设定打印开关

     

    不定长数组

     

    【待继续完善】

    Processed: 0.016, SQL: 8