wyh 的 Code Style

Posted oierwyh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wyh 的 Code Style相关的知识,希望对你有一定的参考价值。

参考GNAQ学长大人的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();

也即一对花括号的每一个前后都有一个空格,语句之间也有一个空格。

注意:

及时内部只有一条语句的iffor等也必须用大括号括起来。

行:

写法:

每行不可以有多个(两个及以上)语句。

多个意义独立的代码块之间应用一个空行隔开 ;

非空行尾不应有多余的空格 ;

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或种类并查集)

牛客-wyh的物品——通过验证得出二分的搜索区间

hdu5285-wyh2000 and pupil-(染色法二分图判定)

A component required a bean of type ‘com.wyh.service.XXX‘ that could not be found.

咨询顾问的秘诀:结构化思维

WPF 后台读取样式文件