改一下OI代码风格

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

  一、大致框架

    所有的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 }

  四、空格

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

    单目运算符前后均无空格

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

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

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

时间: 2024-08-03 21:03:43

改一下OI代码风格的相关文章

python代码风格指南:pep8 中文翻译

摘要 本文给出主Python版本标准库的编码约定.CPython的C代码风格参见?PEP7.本文和?PEP 257 文档字符串标准改编自Guido最初的<Python Style Guide>, 并增加了Barry的?GNU Mailman Coding Style Guide的部分内容.本文会随着语言改变等而改变.许多项目都有自己的编码风格指南,冲突时自己的指南为准. 本文给出主Python版本标准库的编码约定.CPython的C代码风格参见PEP7. 本文和PEP 257 文档字符串标准改

如何使用 Pylint 来规范 Python 代码风格

https://www.ibm.com/developerworks/cn/linux/l-cn-pylint/ Pylint 是什么 Pylint 是一个 Python 代码分析工具,它分析 Python 代码中的错误,查找不符合代码风格标准(Pylint 默认使用的代码风格是 PEP 8,具体信息,请参阅参考资料)和有潜在问题的代码.目前 Pylint 的最新版本是 pylint-0.18.1. Pylint 是一个 Python 工具,除了平常代码分析工具的作用之外,它提供了更多的功能:如

Android Studio设置代码风格

在Android Studio里面想设置代码风格, 在这里我想把代码风格从Java的行尾式改成C风格的代码,如下 if(true) { // TODO } if(true) { // TODO } 其实很简单可以直接进入settings,然后搜索CodeStyle选择Java进入如下界面 在这里选择Wrapping and Braces 在Braces placement下可以看到In class declaration, In method declaration, Other对应的是End

团队协作统一vue代码风格,vscode做vue项目时的一些配置

1. 安装Vetur 扩展 主要是用于让vscode能识别vue文件,对vue代码进行高丽处理,并且它内置了一些代码格式化的设置 2. 安装ESLint 如果你的项目已经开启了eslint规范, 再有多余的空格,或者空行,会有红色波浪线提示. 但是光有提示还不够,还希望在ctrl + s保存的时候自动帮我们处理这些小问题.其实那些js规范,大部分人错得多的地方无非就是个空格与空行的问题 文件 -> 首选项 -> 设置 将以下配置填入 worksapce settings { "edi

PHP PSR-2 代码风格规范 (中文版)

代码风格规范 本篇规范是 PSR-1 基本代码规范的继承与扩展. 本规范希望通过制定一系列规范化PHP代码的规则,以减少在浏览不同作者的代码时,因代码风格的不同而造成不便. 当多名程序员在多个项目中合作时,就需要一个共同的编码规范,而本文中的风格规范源自于多个不同项目代码风格的共同特性,因此,本规范的价值在于我们都遵循这个编码风格,而不是在于它本身. 关键词 "必须"("MUST")."一定不可/一定不能"("MUST NOT"

7、Cocos2dx 3.0游戏开发找小三之3.0版本号的代码风格

重开发人员的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/27691337 Cocos2d-x代码风格 前面我们已经多次提到 Cocos2d-x 源自于 Cocos2d-iPhone.Cocos2d-iPhone 是一个十分出色的游戏引擎,很多优秀的 iOS平面游戏都基于 Cocos2d-iPhone 开发,而它的实现语言是 Objective-C.因此,Cocos2d-x 也就沿袭了 Objective-C

PSR代码风格指南

代码风格指南 本手册是基础代码规范(PSR-1)的继承和扩展. 为了尽可能的提升阅读其他人代码时的效率,下面例举了一系列的通用规则,特别是有关于PHP代码风格的. 各个成员项目间的共性组成了这组代码规范.当开发者们在多个项目中合作时,本指南将会成为所有这些项目中共用的一组代码规范. 因此,本指南的益处不在于这些规则本身,而在于在所有项目中共用这些规则. RFC 2119中的必须(MUST),不可(MUST NOT),建议(SHOULD),不建议(SHOULD NOT),可以/可能(MAY)等关键

log下一次改别人的代码

有次接到个PM要改版一个功能的UI设计,前端童鞋还没敲定页面的时候,我先看了看这个功能的后台,我擦...简直是惨不忍睹..对PM来说是改版UI,对我这么有点代码洁癖的来说就是优化代码. 首先我能肯定的是,原来这个童鞋对面向对象理解的不太好..其次对代码的整合不够...我就简单log下.. 先说面向对象理解的问题,在一个入口方法里,去调用该类自己的私有方法,这里传参的时候竟然把类属性的值都传过去了..当时我就汗了,,显然在被调用的方法里,直接就可以获取这些类属性的值了..为什么还要去传呢... 再

设置自己Eclipse代码风格(内部)

经过这几次的代码提交,发现很多人的代码风格不够规范.个人认为很有必要强制性规定一下代码的规范. 整体来说,有三种代码风格,其中两种类似于这样的: public void function(){ //function body } 很明显,对于多层代码块嵌套的情况,代码会变得难以阅读. 程序员要记住,代码写出来是给别人读的,绝对绝对要避免只写(write-only)代码.一种好的代码风格必然会善用两点:缩进(indent)和适当的换行. 我的代码风格是这样的: public void functi