总的来说,W-RB的代码分为这几个部分:
头文件及名字空间部分
宏定义部分
结构体部分
常量部分
变量部分
函数部分
部分与部分之间必须有且只有一空行
顺序不可颠倒
main函数必须在程序最末
头文件及名字空间部分
每个头文件应单独分行
名字空间应在所有头文件之后
E.g.
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<string>
#include<cmath>
using namespace std;
宏定义部分
每个宏定义应单独分行
宏定义名应全部大写
E.g.
#define INF 0x3f3f3f3f
#define MOD 1000000007
结构体部分
没什么好说的?
E.g.
struct student
{
string name;
int age;
int grade[1007];
};
常量部分
请参考“宏定义部分”
变量部分
变量名应具有特殊意义,且全部小写
同类型的变量应在同一行定义
非同类型的变量应分行
同变量类型的数组与非数组不属于同类型变量,因此,数组与变量应分行
定义顺序应是结构体->字符串->数组->变量
E.g.
string name;
int grade[1007];
int sun,num;
char abc;
函数部分
缩进
缩进必须为4格
语句
除for
语句外,其他行必须有且只有一个语句
对于for
while
if
等语句,若主体只有一个语句,则可以不写括号
下级语句必须比上级语句缩进4格
空格
鄙人基本不空格
若要空格,运算符前后应有且只有一个空格
大E.g.
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<string>
#include<cmath>
using namespace std;
#define MAXN 1007
#define INF 0x3f3f3f3f
#define MOD 1000000007
struct student
{
string name;
int age;
int grade[1007];
};
student stu[1007];
string teacher;
int map[1007];
int sun,num;
char abc;
void plus(int n)
{
if(n==10)
return;
else
{
sun++;
plus(n+1);
}
}
int main()
{
scanf("%d",&n);
plus(n);
printf("%d",n);
return 0;
}
此上为W-RB的码风及要求。
部分参考@Menci的码风