总结C语言编码规范(上)

C语言编码规范

 

1.程序块缩进空格数目为4

2.相对独立的程序块之间,变量的说明之后必须添加空行

3.较长的语句要分成多行书写,划分出的新行要进行适当的缩进,低优先级操作符放在新行之首

4.不允许把多个短语句写在一行中,即一行只写一条语句

5.if for while do等语句的执行语句无论多少行都要加括号{}

6.程序块的分界符应该各独占一行并且位于同一列,同时与引用他们的语句左对齐

7.在两个以上的关键字、变量、常量进行对等操作的时候,在它们的操作符之前、之后或者前后都要加上空格

l   逗号、分号只在后面添加空格

l   比较操作符,赋值操作符、算术操作符、逻辑操作符、位域操作符等双目操作符的前后都要加空格

l   单目操作符前后不加空格

l   ->.、前后不加空格

l   If  for  while  switch等与后面的括号之间应加空格,使if等关键字更加突出、明显

 

二.注释

 

1.说明性文件,如各种头文件。它们的头部应进行注释,注释序列出:版本说明、版本号、生成日期、作者、内容、功能、与其他文件的关系以及修改日志等,头文件中还应该含有函数功能的简要说明

 

2.原文件头部应该进进行注释,列出与上面类似的注释内容

 

3.函数头部应进行注释,列出:函数的目的/功能,输入参数,输出参数、返回值、调用关系等

4.边写代码边注释,写该代码的同时修改相应的注释

5.注释应该与其描述的代码位置相近,对代码的注释应该在其上方或者右方

6.数据结构声明,如果其命名不是充分自注释的,必须添加注释,对数据结构的注释因该放在其上方相邻位置

7.全局变量要有详细的注释,包括对其功能、取值范围、哪些函数或者过程存取他以及存取时的注意事项等的说明

8.注释与其所描述的内容进行同样的排版

9.将注释与其上面的代码用空行分隔开

10.Switch如果故意不用break时,应该加以注释

11.注释的目的是解释代码的目的、功能、和采用的方法

12.在程序的结束行右方加注释标记,以表明某程序块的结束

13.建议注释多使用中文

 

三.标识符命名

 

1.命名规范必须与所使用的系统风格保持一致

  Unix中采用全小写加下划线的风格或者大小写混排的方式

2.不要使用数字或者比较奇怪的字符来定义标识符

3.除了编译开关和头文件等特殊应用,应避免使用_EXAMPLE_TEST_之类以下划线开始和结尾的定义

 

四.可读性

 

1.用括号明确表达式的操作顺序,避免使用默认的优先级

2.避免使用不易理解的数字,用有意义的标志来代替,涉及物理状态或者含有物理意义的常量,不应直接使用数字,必须用有意义的枚举或者宏来替代

  Eg:  #define TRUNK_IDLE 0

      #define TRUNK_BUSY 0

3.不要使用难懂的技巧性很高的语句,除非很有必要的时候

 

五.变量、结构

 

1.严禁使用未经初始化的变量作为右值

2.构造一个模块或者函数可以修改,而其余相关的模块只能访问的公共变量

3.设计结构的时候应该力争是结构代表一种现实事物的抽象,不应该把没有关系或者关系很弱的元素放到同一结构中

4.如果两个结构的关系密切、复杂,那么应该合为一个结构

5.结构中元素的个数适用,如果元素个数过多可考虑依据某种原则把元素组成不同的子结构,以减少结构中元素的个数

6.尽量减少没有必要的数据类型默认转换或者强制转换

7.使用自定义的类型来代替基础数据类型,可以使代码的可读性提高

8.当声明用于分布式环境或者不同CPU间通信环境的数据结构时,必须考虑机器的字节序、使用的位域以及字节对齐的问题

  字节对齐问题:

  结构体内存对齐:1.内存偏移量必须为要存放变量字节数的倍数

                  2.结构体总体的大小应该为其中所占字节数最大的成员的倍数

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值