C编程规范(个人粗笔)

C编程规范Made by Edward.xu

序:此系列规范综合依据本人C/C++语言和JAVA语言的书写习惯以及参考其他规范所总结,不足之处还请见谅。

北京理工大学珠海学院 徐方鑫

E-mail:280599580@qq.com

第一章:说明性文件

1.程序说明性文件

/*****************************************************

Copyright (c/c++), 2010~2011, zhbit, Edward.xu ,ltd,

First name://文件名

Author: Version: Data: //作者,版本,完成日期

Description://程序具体功能描述

Others://其他备注

Function list://封装函数列表

******************************************************/

2.封装函数说明性文件

/******************************************************

Function name://函数名称

Argument://参数列表(名字,类型)

Output://输出(名字,类型)

Function://函数功能说明

******************************************************/

3.调试说明性文件

/******************************************************

Debug data//调试时间

Bug://故障描述

Exclude://故障处理描述

*******************************************************/

第二章:命名约定

1.常量命名

常量的每个单词均大写,单词直接使用下划线连接

etc: #define MAX_VALUE value

const int MAX_VALUE = value;

2.变量命名

1)变量名中第一个单词小写,其后的每个单词的第一个字母大写

etc: Int dayName;

2)用名词命名变量,使变量名能够做到见名识意,必要时允许使用简称

etc: char addess;

char addr;

3)数据变量需要赋初值,当无确定初始值时赋0

etc: int addess=0;

3.方法命名(函数命名)

1)方法名中第一个字母大写,其后全部小写

etc: Int Ture( void );

2)参数必须写明,而且全部小写,局部变量命名以_in为结尾

Int Read( int x_in , int y_in );

4.类命名

1)类名中第一个字母大写,其后每个单词的第一个字母大写

etc: public class PrintStream{}

2)用名词命名类

public class HelloWorld{}

5.全局变量命名

全局变量无论命名为何,结尾以_all为结尾

etc: ( extend ) int x_all;

第三章:注释约定

1. 单行注释

代码后隔一空格进行注释

etc: Int sum; //sum is all the number

2.多行注释

多行注释推荐使用老版C注释的方案

/*

* //注释内容

*

*/

etc:int sum; /*

int number; * sum_number , number is the score , summerl

char sunmmerl; * is the char sun_numer………..

double xgate; */

3.注释推荐用英语写,必要时可以使用中文

第四章:程序的版式

1.空行

1)每个类声明,每个函数体声明之后都要加空行

2)函数体内,逻辑上密切相关的语句不加空行,其他地方加空行分离

etc:

1)

#include <stdio.h>

void delay(int cnt_in)

{

While(cin_in--);

}

void main(void)

{

delay(30000);

Return 0;

}

2

While1

{

Int number=0;

Int sum=0;

Int x=0;

If(x>number)

sun+=x;

else

sun-=x;

}

2.常量

1)常量在程序头进行定义,统一为宏或者CONST的形式,不可夹杂定义

2)避免使用常量作为方法(函数)的参数

3.变量

1)变量定义位于程序开头,若在程序中间定义变量时,需要在程序开头添加注释

2)定义变量时每行仅定义一个,多行时变量需对齐

3)尽量避免使用全局变量,定义全局变量时需要加上说明性注释

4.缩进

1)如果选用的IDE带自动的缩进功能就自动缩进

2)若无缩进功能的话,手动以两个空格符作为缩进(为了程序在不同平台的可移植性建议手动缩进)

3)函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格,case语句下的情况处理语句也要遵从语句缩进要求。

etc:

1)自动缩进

#include <stdio.h>

void main(void)

{

int x=0;

int y=0;

int sum=0;

scanf("%d %d",&x,&y);

sum=x+y;

if(x>y)

printf("hello world");

}

2)手动缩进

#include <stdio.h>

void main(void)

{

int x=0;

int y=0;

int sum=0;

scanf("%d %d",&x,&y);

sum=x+y;

if(x>y)

printf("hello world");

}

5.宏定义

1)宏定义常量时,需要加需要符合常量命名规则

2)宏定义变量表达式时,需要加上括号

3)在定义多个宏变量表达式时,需要用大括号封装成语句块

4)使用宏时,不允许参数发生变化

6.结构化要求

1)程序判断时,禁止使用两条等价的支路

2)禁止GOTO语句

3)当使用IF语句进行判断时,禁止使用else return , else goto

4)多路分支时建议使用case语句

5)循环时避免多个出口,如有特殊情况要中途退出循环,需加注释

6)避免使用条件表达式去替代逻辑运算

7)禁止将短语句写在同一行中

7.较长语句的处理办法

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

2)循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首

etc:

1

sum = x*x/100*average

+x/x*100%average

-x%x*100/average

2

Int delay(int cnt_in,

Int dalaynumber_in,

char string_in)

8.主函数规定

1)主函数建议使用int类型规定返回时,函数尾返回0

2)主函数需要定义参数类型,一般为void,当需要使用命令行参数时需要附加注释

etc:

1

Int main(void)

{

return 0;

}

2

void main()

{

}

第五章:容错性约定

1.进行逻辑运算时,避免使用浮点型数据

2. 建议强转,避免使用默认的类型转换

3.多所有用户的输入,进行合法性检查

4.禁止在同一语句中多次应用++--单目运算符,即每个语句仅能最多使用一个++或者单目运算符

5编程时,要防止差1错误

6.在程序测试时需要打开所有告警

7.认真处理程序所能遇到的各种出错情况

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值