wyh 的 Code Style
Posted oierwyh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wyh 的 Code Style相关的知识,希望对你有一定的参考价值。
Rust式代码风格:
预编译指令:
顺序:
pragma
include
define
undef
缩进:
define undef 继承上层缩进,其余不缩进。
写法:
include 中能使用 < > 的尽量不要使用 " " ;
include 中不使用空格。
define undef 中允许被定义的宏为全部大写或全部小写,其余情况不允许使用大写。
限制:
不使用 #if #else #elif #endif #ifdef #ifndef #endif #line #error 以及其他预编译命令。
命名空间:
写法:
总是使用 using namespace std 或 导入
- using std::cin
- using std::cout
- using std::endl
- using std::min
- using std::max
等在代码出现过的 std namespace 中的函数。
命名空间中可以使用 #define ,但必须
在结尾处 #undef,且 #define 指令应置于命名空间的开头处。
任何大型数据结构使用其大写简写为名称的单独 namespace , 如
namespace KDT namespace SGT namespace TRP,并总是在命名空间的结尾处 后缀一分号 ‘;‘ ,例如:
namespace SGT
#define LCH tree[inx].ch[0]
#define RCH tree[inx].ch[1]
void func1()
// .....
#undef LCH
#undef RCH
;
顺序:
应置于代码开头处的所有预编译指令之后。
缩进:
继承上层缩进。
花括号:
写法:
使用 $Allman$ 式花括号,也即花括号换行。 例如:
void Func1()
for (;;)
// ...
if (case)
// ....
else
if (case 2)
// ..
else Func2(); return;
在任何代码片段中不使用任何 逗号‘, ‘ 运算符连接两个语句,其正确格式为:
for (;;)
Func1();
Func2();
也即一对花括号的每一个前后都有一个空格,语句之间也有一个空格。
注意:
及时内部只有一条语句的if与for等也必须用大括号括起来。
行:
写法:
每行不可以有多个(两个及以上)语句。
多个意义独立的代码块之间应用一个空行隔开 ;
非空行尾不应有多余的空格 ;
using namespace std; 后有一空行 ;
函数、成员函数、结构体、全局变量块之间必须用空行隔开。
if for while 等语句,若其后只有一条语句 (或嵌套) ,可以直接缩进 而无需花括号 " " 。
缩进:
继承上层缩进 。
小括号:
写法:
除声明及调用函数时的括号紧跟其他字符外,任何成对小括号的前后必须有一个空格隔开其他字符,如:
for (;;)
Func1();
if (case1)
..
int i = (j * 100 + log2(100) );
若右括号** ‘)‘** 后接的是分号 ‘;‘ 则空格可以省略。
指针与引用:
写法:
$OI$ 代码中不使用指针。
引用部分采用 Rust 式命名,任何引用前的标识符 ‘&‘ 和引用变量之间用一个空格隔开,若前有类型标识符,则引用标识符紧跟类型标识符,如
void Func1(int& q, int& t)
int a, b;
int& aref = a, & bref = b;
缩进:
继承上层缩进 。
函数:
写法:
函数采用大驼峰命名法,选择性地加入下划线 **‘_‘** ,如:
void Update()
···
int Qry()
···
Mat Gauss_Elimination()
···
空函数体必须为以下格式:
void Func1()
缩进:
继承上层缩进 。
空格:
写法:
逗号前后都不能有空格。
冒号的两侧必须有一空格。
‘++‘ ‘--‘ 前/后不需空格。
形如 vector< pair<int, int> > 的声明,每对 <> 前后空格需要对称。
‘::‘ ‘.‘ 的两侧不应有空格。
初始化列表前后不需空格,如 max(a, b, c);。
缩进:
继承上层缩进 。
注释:
缩进:
继承上层缩进。
写法:
单行注释使用 $//$ ,之后应有一空格,如 $// do?something$ 。
多行注释使用 $/* /$ ,其中 $/$ 和 $/$ 应独占一行,且 $/$ 和 $*/$ 后应有一空行,例如:
int func1()
int a=1,b=2;
/*
return 3;
*/
return a+b;
以上是关于wyh 的 Code Style的主要内容,如果未能解决你的问题,请参考以下文章
HDU 5285 wyh2000 and pupil(dfs或种类并查集)
hdu5285-wyh2000 and pupil-(染色法二分图判定)
A component required a bean of type ‘com.wyh.service.XXX‘ that could not be found.