码迷,mamicode.com
首页 > 其他好文 > 详细

改一下OI代码风格

时间:2018-03-09 12:15:06      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:全局   struct   操作   names   相同   变量   init   一个   三目运算   

为了方便差错以及代码阅读,是时候改一下以前的代码风格了,新的代码风格规则如下:

  一、大致框架

    所有的include必须放在程序开头

    include顺序为:c++标准库>c标准库

    c标准库的引用应用c前缀而不是.h后缀

    main函数统一在整个程序的结尾

    程序的输入部分大体由init函数来实现

    所有函数均在全局变量声明后进行声明

    不使用using namespace std,使用using std::cin与using std::cout,方便打表

    预处理操作保存在prepare函数中,重置操作保存在reset操作中

  二、压行、压缩语句

    不通过‘,‘来将多个语句压缩成一个

    一般不进行压行,一下几种情况除外:

      对不同变量的相同赋值进行压行

        不同变量的相同赋值:

        1、赋值均为常数

        2、赋值变量或函数(这个函数不对变量进行引用)名相同

void init() {
    n = read(); m = read();
    for (int i = 1; i <= m; i++) {
        x = read(); y = read(); v = read();
        addedge(x, y, v); addedge(y, x, v);
    }
}

      引用同一个函数时进行压行

    压行时分号后应有一个‘ ‘

  三、花括号

    所有的左括号均不换行,且应与前面的语句通过一个‘ ‘隔开

    除struct的声明之外,右括号后均没有任何语句

    struct的变量名应与右括号通过一个‘ ‘隔开

    遇到左括号时缩进+1,遇到右括号时缩进-1

    for,while,if等语句后仅有一个语句时,不使用大括号,并将这个语句写在同一行,中间用‘ ‘隔开

1 struct node {
2     int y, v, ne;
3 } edge[100010];
4 
5 void init() {
6     n = read();
7     for (int i = 1; i <= n; i++) a[i] = read();
8 }

  四、空格

    对于圆括号来说,左括号的右边,右括号的左边没有空格

    单目运算符前后均无空格

    双目以及三目运算符前后均有空格

    ‘,‘‘;‘后有其余语句时用空格隔开

改一下OI代码风格

标签:全局   struct   操作   names   相同   变量   init   一个   三目运算   

原文地址:https://www.cnblogs.com/hinanawitenshi/p/8533079.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!