C Language:代码编程规范

来源:互联网 发布:手机淘宝1元秒杀技巧 编辑:程序博客网 时间:2024/05/16 06:07

重点介绍四个:排版、长语句处理、标识符命名

1、排版—缩进:

a.对代码进行缩进一般为四个空格,以TAB键进行缩进。(在有些编译器中则不行,因为其TAB键设置不是四个空格)。

b.缩进的情况:在函数或过程开始、结构体定义及循环判断等语句代码应该采用缩进。case语句下的情况语句也要采用缩进。

c.程序块的分界符:在c/c++中“{” “}” 应各占一行并且处于同一列同时与引用它们的语句对齐

d.空行的使用:相对独立的程序块之间、变量说明(定义变量与代码之间)之后必须加空行

return 0;构成独立的模块

2、长语句处理:

a.长表达式要在低优先级操作符处划分新行,操作符放在新行的行首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。

3、语句占位:

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

b.if、for、do、while、case、switch、default语句要各自占一行if、for、do、while、case等执行语句无论多少都要加括号(“{” “}”)。

4、空格:由两个以上的关键字、变量、常量进行对等操作时,在操作符前后应该加空格。进行非对等时,如果是关系密切的立即操作符(->)后不加空格。

a.逗号与分号只在后面加空格。

b.比较操作符、赋值操作符:“=”、“+=”,算术运算符:“+”、“%”,逻辑运算符,位域运算符,“^”双且运算符前后都应该加空格。

c."!"、"~"、"++"、"--"、"&"(地址运算符)等单目操作符前后不加空格。

d."->"、"."前后都不加空格。

5、注释:

a.原则:有助于对程序理解,一般源程序的注释量必须在20%以上。

b.边写代码边注释,并且修改代码要修改注释。

一般原则:

a.变量定义、分支语句(条件分支,循环语句)必须要进行编写注释。

b.在代码功能的意图层次上面进行注释,提供有用且额外的信息。

c.说明性文件,文件函数注释(如头文件,h文件,inc文件等头部文件应该进行注释)。注释必须列出版权,说明等(具体应用可百度)。

d.全局变量:应该有注释,包括对其功能等描述(讲的太快笔记没记清楚)。

e.构造类型、数据类型声明(包括数组,结构,类,枚举)。注释应该与其描述的内容进行相同的缩进

6、标示符的命名:

a.公认缩写:temp->tmpflag->flg

statistic->statincrement->inc

message->msg

b.命名规范必须与所使用的系统风格保持一致,并且在项目中保持一致。两种命名规范:匈牙利命名规则、unix命名规则。

用作特殊的标示,如标示成员变量或全局变量的m_和g_其后加上大小写混排的方式是允许的。

c.变量的命名:一般不使用单字母命名,单字母命名变量用于小型的循环中,如for循环。

d.除了编译开关/头文件特殊应用,应避免使用"_"下划线进行开始或者结尾。

e.宏定义时变量名应该全大写,使用typedef(类型重定义)时,应该在新类型名后面添加后缀“_t”。//类型可以用来定义变量,变量不可以来定义变量。

PS

a.#是预编译器的变量语句(以“;”结尾)代表可以被编译器执行的语句。

b.windows是多任务操作系统,单任务操作系统为dos:控制台应用程序。

c.宏定义与typedef之间的区别:(来自百度知道)

(1)、#define是预处理指令,在编译预处理是进行简单的替换,不做正确的检查,不关含义是否正确照样带入,只有在编译已被展开的源程序是才会发现可能的错误并报错。

(2)、typedef是在编译时处理的。它在自己的作用域内给一个已经存在的类型别名,但是You cannot use the typedef specifier inside a function defintion.

(3)、typedef int * int_ptr;#define int_ptr int * 作用都是用int_ptr代表 int * ,但是二者不同,正如前面所说 ,#define在预处理 时进行简单的替换,而typedef不是简单替换 ,而是采用如同定义变量的方法那样来声明一种类型。(所以一个在程序运行中可以更改,而另一个在程序运行中不可更改)

(4)、#define 不是语句 不要在行末加分号,否则 会连分号一块置换。

typedef是一条语句,可以被编译器执行。

c primer plus、c和指针、c陷阱编程、c专家编程
1 0
原创粉丝点击