【2D仿真组一期-日志2】-团队编程规范1.0

团队编程规范

程序版式:

/************************************************************************\
*	函数名:
*	函数功能概述:
*	参数说明:
*	返回值说明:
*	修改记录:
\************************************************************************/

规则1:空行规则

1.1每个类声明、函数定义后需加一行空行

1.2函数体内,逻辑上密切相关的语句间无空行,其余地方需加空行

规则2:代码行规则

2.1 ifforwhiledoswitch等各占一行,不论执行语句多少,均需加大括号。前大括号放在语句后,占一行。后大括号位于语句组结束处,占一行,大括号内的内容用Tab缩进一次

:

unsigned int isEqualToInt( ) 
{
Statement;
}

2.2 定义变量时必须立刻对其进行初始化。

规则3:空格规则

3.1关键字之后要留空格。象const、virtual、inline、case 等关键字之后

至少要留一个空格,否则无法辨析关键字。象if、for、while 等关键字之后应留一个

空格再跟左括号‘(’,以突出关键字。

3.2函数名之后不要留空格,紧跟左括号‘(’,以与关键字区别。

3.3‘(’向后紧跟。‘)’、‘,’、‘;’向前紧跟,紧跟处不留空格。

3.4‘,’之后要留空格,如Function(x, y, z)。如果‘;’不是一行的结束

符号,其后要留空格,如for (initialization; condition; update)。

3.5赋值操作符、比较操作符、算术操作符、逻辑操作符、位域操作符,

如“=”、“+=” “>=”、“<=”、“+”、“*”、“%”、“&&”、“||”、“<<”,“^”等二元

操作符的前后应当加空格。

3.6一元操作符如“!”、“~”、“++”、“--”、“&”(地址运算符)等前后不

加空格。

3.7象“[]”、“.”、“->”这类操作符前后不加空格。

3.8对于表达式比较长的for 语句和if 语句,为了紧凑起见可以适当地去

掉一些空格,如

for (i=0; i<10; i++)

if ((a<=b) && (c<=d))

void Func1(int x, int y, int z); // 良好的风格
void Func1 (int x,int y,int z); // 不良的风格
if (year >= 2000) // 良好的风格
if(year>=2000) // 不良的风格
if ((a>=b) && (c<=d)) // 良好的风格
if(a>=b&&c<=d) // 不良的风格
for (i=0; i<10; i++) // 良好的风格
for(i=0;i<10;i++) // 不良的风格
for (i = 0; I < 10; i ++) // 过多的空格
x = a < b ? a : b; // 良好的风格
x=a<b?a:b; // 不好的风格
int *x = &y; // 良好的风格
int * x = & y; // 不良的风格
array[5] = 0; // 不要写成 array [ 5 ] = 0;
a.Function(); // 不要写成 a . Function();
b->Function(); // 不要写成 b -> Function();

规则4:长行拆分

4.1 代码由过多语句群组成时需进行拆分。要在低优先级操作符处拆分成新行,操作符放在新行之首(以便突出操作符)。拆分出的新行要进行适当的缩进,使排版整齐,语句可读。

如:

if ((very_longer_variable1 >= very_longer_variable12)
&& (very_longer_variable3 <= very_longer_variable14)
&& (very_longer_variable5 <= very_longer_variable16))
{
dosomething();
}

规则5 修饰符位置:应当将修饰符 * 和 & 紧靠变量名

例如:

char *name;

规则6 命名规则:

6.1变量名称约定:

精确描述变量意义(主),尽量简短(次),首单词首字母小写,其余单词首字母大写.

例:

unsigned int thisIsAnInteger ;

6.2函数名称:

精确描述变量意义(主),尽量简短(次),首单词首字母小写,其余单词首字母大写.

例:unsigned int isEqualToInt( ) ;

6.3宏定义名称:

全部大写,单词间用下划线连接。

6.4结构和联合定义

一律用typedef;struct名称全大写,重命名名称所有首字母大写

typedef struct PICTURELAYER {
;
}PictureLayer ;

编程注意事项:

不可将布尔变量直接与TRUE、FALSE 或者1、0 进行比较。

if (flag) // 表示flag 为真

if (!flag) // 表示flag 为假

应当将整型变量用“==”或“!=”直接与0 比较。不可模仿布尔变量的风格而写成

假设整型变量的名字为value,它与零值比较的标准if 语句如下:

if (value == 0)

if (value != 0)

不可将浮点变量用“==”或“!=”与任何数字比较。

假设浮点变量的名字为x,应当将

if (x == 0.0) // 隐含错误的比较

转化为

if ((x>=-EPSINON) && (x<=EPSINON))

其中EPSINON 是允许的误差。

应当将指针变量用“==”或“!=”与NULL 比较。

if (p == NULL) // p 与NULL 显式比较,强调p 是指针变量
if (p != NULL)

if语句补充说明

1、 注意使用三目运算符简化

2、 可使用NULL == p来防止错误

关于循环语句

在多重循环中,如果有可能,应当将最长的循环放在最内层,最短的

循环放在最外层,以减少CPU 跨切循环层的次数。

for (col=0; col<5; col++ )
{
for (row=0; row<100; row++)
{
sum = sum + a[row][col];
}
}

如果循环体内存在逻辑判断,并且循环次数很大,宜将逻辑判断移到循环体的外面。

关于for循环

如非特殊要求,for 语句的循环控制变量的取值采用“半开半闭区间”写法。

例如:半开半闭区间“0 =< x < N”,起点到终点的间隔为N,循

环次数为N。

关于switch

如果没有default,需加default : break;

关于goto语句

极其慎用。需要使用必须经过全队商讨批准。

关于函数

在函数体的“入口处”,对参数的有效性进行检查。

在函数体的“出口处”,对return 语句的正确性和效率进行检查。


注:

本文资源来自网络,经整理后发布。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
·1.【原创资源】内容简介: --------------------------------------------------------------- 这是一个压缩包,里面是国际赛数模训练时,做无线电信道分配所用的资料 --------------------------------------------------------------- ·2.资源使用方法 microsoft word Adobe pdf 浏览 --------------------------------------------------------------- ·3.文件成形式 格式:doc pdf文件 /**********************************************/ 文件名如下: (Toolkit的具体使用方法)SEU-3D-TOOLKIT使用手册.pdf (三位老队员的毕业设计,可供参考).zip (各个队伍可以此源码作为基础,阅读代码后进行修改使这个基础队伍变强从而参加比赛)seu-base.tar.gz (基础源码的简要介绍)presentation.pdf (更新版本维护了调试工具toolkit,各个队伍可以使用调试工具,更快更专业地调试你们的代码)seu-base-toolkit-update.tar.bz2 (测试队伍可以用来和自己的队伍进行比赛,测试自己开发的队伍的能力到了什么程度。 )teams_for_test.zip (老队员王巍的代码阅读笔记,可供参考。)SEU-3Architecture.doc (这个是server的安装包,参考新手上路进行安装 rcss3d-suse-install-11.X.tar.gz (这个是server的配置文件,如何使用请参阅新手上路)rcssserver3D.rb (这个是开始比赛之前的配置,同样请参考新手上路进行配置agentdb.list 23D introduction by xuyuan v0.4.pdf 3d_rules.pdf FAQ FAQ~ Linux菜鸟教程 国际足球比赛规则.pdf 文件说明.pdf 新手上路.pdf 通知.doc /**********************************************/ --------------------------------------------------------------- ·4. wogeguaiguai的附言: 1.我的其他数学建模资源也欢迎您下载,都是非常好的准备比赛要用的资料。俺一年的搜索资源,同学们一朝即可获得! 2.下载本文件后,您可以获得所有信息,不必再零散下载,给您带来很大的方便。 3.10个资源分,绝对物超所值。评论后,您就可以获得11个资源分,欢迎您评论! --------------------------------------------------------------- ·5.如有问题,请在此言,谢谢。 --------------------------------------------------------------- ·6.上传时间 2010-2-24-afternoon
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值