Code Style of Mangata

本文用于介绍Mangata的代码书写习惯

概览

①所有的#include指令放在整个程序的最上面

②不应该使用using namespace std;

main函数放在程序的末尾

④不应该用int代替bool的逻辑值

main函数的返回类型是int并且main函数的末尾请务必return 0;

main函数使用换行的花括号

缩进

对于每个代码块(大括号里面的内容),使用4空格或者等长的Tab缩进

花括号

花括号有两种写法,①花括号换行,②花括号不换行

①花括号换行:     左花括号必须和上一级块的缩进相同

②花括号不换行: 左花括号有且仅有一个空格

// 1
if (condition)
{

}
else
{

}
// 2
if (condition) {

} else {

}

①除了for中的三个语句外,每行不能超过一个语句。如果一行内有多个表达式,请使用逗号隔开

②连续空行数目不能大于1

③非空行尾不能有多余的空格

④函数、成员函数、结构体、全局变量块之间尽量用一个空行隔开

⑤程序末尾不能有多余的空行

⑥如果程序中有using namespace std; 请紧跟着最后一条#include书写

#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;

const int N = 10005;

struct Node {
    int a;
};

int a,b,c;
double t1,t2;

int main()
{
    
    
    
    return 0;
}

函数

main函数的返回类型必须是int,并且main函数的末尾必须返回return 0; 

②空函数可以使用 {} (但是似乎很鸡肋?)

③传参的时候根据需要选择是否引用或者const,尽量少用指针(不是说不用)。

变量

①少用全局变量

②局部变量在使用的时候定义,并且局部变量名不能和上一个块的变量名重名,可以和全局变量重名

③只在一个函数内使用到的,但是生存周期在全局的,请使用static修饰

空格

①逗号 与for中的分号 ; 后面都要有一个空格,前面不能有空格

②左圆(方)括号后、右圆(方)括号前,在书写长表达式时,为了便于阅读,可以加一个空格,如

f[i][j] = f[ f[i][j - 1] ][j - 1]

③双目运算符、三目运算符的两侧必须有一个空格

④单目运算符的两侧不能有空格

⑤冒号的两侧必须有空格

三目运算符  a > b ? a : b;

双目运算符  a == b

单目运算符  !a

⑥流程控制关键字之后,左圆括号前必须有一个空格,函数名之后,左圆括号前不能有空格,while和do-while的左括号前也不能有空格。

⑦ ->:: 的两边不能有空格。

命名

常量请使用全大写变量首字母小写结构体首字母大写

②函数的命名可以用单词的缩写(实在没法你可以使用pinyin)

posted @ 2020-11-07 15:08  MangataTS  阅读(168)  评论(0编辑  收藏  举报