晚上困的要命,先写个码风计划提提神。

计划目标

  1. 抵制无理压行。
  2. 抵制不可读代码。
  3. 倡导代码艺术化,分层化

具体的一些细节和展示

1>整体

首先要把预读部分(我这么叫的),命名域使用,全局变量定义,函数用空行隔开

#include<iostream>

using namespace std;

const int a=666;

int main(){
cout<<a<<endl;
}

2>变量名

能用英文的不用缩写,能用缩写的不用拼音,能用拼音的不用划键盘。

如果使用次数不多,可以用题目中的字母。

例:

询问次数:querynum (qn)

数组(单纯的数组,板子题):array (arr)

3>函数堆砌

预处理的函数堆砌十分需要处理,其他的视情况而定

void prerun(){
memset(fl ,-1,sizeof fl );
memset(low ,0 ,sizeof low );
memset(dfn ,0 ,sizeof dfn );
memset(rs ,0 ,sizeof rs );
memset(is_cut,0 ,sizeof is_cut);
}

像这样(pre-是提前前缀,run是运行)

4>其他细节

if语句条件过多可以考虑在逻辑运算符后换行

变量定义/赋值过多可以换行

int a,b,c,d,e,f,g,h,i,
j,k,l,m,n,o,p,q,r,s;

一个一换虽然稀疏,但赋值和删除都很方便(ctrl+d)

结束了,但是$\color{#123456}{\mathfrak{Miemeng}}$还是很困

随机推荐

  1. Math: Fibonacci

    https://www.zhihu.com/question/28062458 http://blog.csdn.net/hikean/article/details/9749391 对于Fibona ...

  2. Android开发 设备横屏与竖屏的详解

    需要了解横竖屏切换关键知识 1.在Android设备的横竖屏幕,每一次切换横竖屏其实是在重新创建Activity,Activity会重新走一遍生命周期.从onCreate 到 onDestroy 2. ...

  3. soj97 旅行

    题意:给你一棵n个点的树.m个操作,op 1:在点i上建立银行.op 2:询问从点x开始可以经过至少一个银行走到的点中编号第二大的点. n,m<=1e5. 标程: #include<bit ...

  4. python requests 高级用法

    高级用法 本篇文档涵盖了 Requests 的一些高级特性. 会话对象 会话对象让你能够跨请求保持某些参数.它也会在同一个 Session 实例发出的所有请求之间保持 cookie, 期间使用 url ...

  5. Less适配移动端rem

    @ue-width: 750; /* 设计图的宽度 */ .px2rem(@px) { @remValue: @px/@ue-width*10; @pxToRem: ~"@{remValue ...

  6. Sharepoint常见概念

    有待补充: 1.环境部署(AD+DNS+SQL+SharePoint前端): SharePoint基本都是这样的结构,可以在多台服务器中,也就是场,当然也可以在一台服务器上.说说这几部分的功能 (1) ...

  7. python面向对象应用-1

    #猫 定义类 class Cat: type = '猫' #通过__init__初始化的特征 def __init__(self,nickname,age,color): self.nickname ...

  8. 自动生成DTO(EF框架)

    [0]安装相关工具包 PostgreSQL版本: Npgsql.EntityFrameworkCore.PostgreSQL Npgsql.EntityFrameworkCore.PostgreSQL ...

  9. python configparser模块详解

    此模块提供了一个实现基本配置语言的类 首先来看一个非常基本的配置文件,如下所示格式: [DEFAULT] ServerAliveInterval = 45 Compression = yes Comp ...

  10. 6.Spring【AOP】XML方式

    1.AOP术语 1. Joinpoint(连接点):所谓连接点是指那些被拦截到的点.在spring中,这些点指的是方法,因为spring只支持方法类型的连接点 2. Pointcut(切入点):所谓切 ...