$\mathcal{Miemeng}$的病态码风计划
晚上困的要命,先写个码风计划提提神。
计划目标
- 抵制无理压行。
- 抵制不可读代码。
- 倡导代码艺术化,分层化
具体的一些细节和展示
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}}$还是很困
随机推荐
- go string和[ ]byte
https://www.cnblogs.com/zhangboyu/p/7623712.html
- bind()的模拟实现
上一篇对call和apply的模拟实现做了一个梳理,可参见:模拟实现call.apply,下面将具体研究一下bind啦啦啦 1. bind和call/apply的差别 bind方法会创建一个新函数,返 ...
- vue中 给router-view 组件的 绑定 key 的原因
不设置 router-view 的 key 属性 由于 Vue 会复用相同组件, 即 /page/1 => /page/2 或者 /page?id=1 => /page?id=2 这类链接 ...
- [记]Cordova安装插件选择插件版本
在项目中可以使用 cordova plugin add [PLUGIN_ID] 這个命令安装一个cordova插件,这个命令好像是安装插件的最新版本.当需要通过cordova下载这个插件一个特定的版本 ...
- div contenteditable 重新编辑时focus光标定位到前面问题解决
<div class="editdiv" id="edit" contenteditable="true">这是添加文字< ...
- 如何玩转跨库Join?跨数据库实例查询应用实践
背景 随着业务复杂程度的提高.数据规模的增长,越来越多的公司选择对其在线业务数据库进行垂直或水平拆分,甚至选择不同的数据库类型以满足其业务需求.原本在同一数据库实例里就能实现的SQL查询,现在需要跨多 ...
- 深入浅出 Java Concurrency (34): 线程池 part 7 线程池的实现及原理 (2)[转]
线程池任务执行流程 我们从一个API开始接触Executor是如何处理任务队列的. java.util.concurrent.Executor.execute(Runnable) Executes t ...
- SPSS与Streams的集成实现实时预测
SPSS与Streams的集成实现实时预测 SPSS Modeler 是一个数据挖掘工作台,提供了一个可了解数据并生成预测模型的最先进的环境.Streams 提供了一个可伸缩的高性能环境,对不断变化的 ...
- CentOS源码安装Wireshark
(2019年2月19日注:这篇文章原先发在自己github那边的博客,时间是2016年8月25日) Wireshark为网络管理员常用的一个网络管理工具,通过使用这个软件,我们可以对本机网卡上的经过的 ...
- PAT甲级——A1075 PAT Judge
The ranklist of PAT is generated from the status list, which shows the scores of the submissions. Th ...