受到 @_slb 大佬的启发,~~(趁着集训休假开摆)~~也打算写一篇关于自己码风的文章 QwQ。
自认为自己码风很好
头文件
万能头忠实拥护者,纵使它在变量名上虐我千百遍,我仍然要坚定地使用它!
变量
数组一律开全局变量,函数中要用到的变量一律开全局变量,一些没啥用的打酱油的变量比如 opt
一般会放在主函数里。
换行
-
头文件和
using namespace std;
在一起,换行空一行写全局变量 -
不同类型的全局变量之间不空行
-
函数之间空一行
-
大括号换行
-
对于
q.front()
和q,pop()
连起来的操作,不换行
#include<bits/stdc++.h>
using namespace std;const int maxn=1e5+5;
int head[maxn],n;
bool flag;void add(int x,int y)
{
}bool check
{
}
空格
-
运算符之间从来不加空格,唯一的例外是
priority_queue<int,vector<int>,greater<int> > q
。 -
分号前后不会加空格
压行
轻微的压行主义者。
- 对于
for
,能删的括号都尽量删 - 对于
if
,大部分时候会把条件和执行语句放在一行 - 对于一个执行语句和
return
、break
、coutinue
连在一起时,如果有且只有这两句话,会写在一行 - 不会写
return q.push(x),x+1;
这样奇奇怪怪的压行小寄巧
举个栗子:
for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)cin>>a[i][j];if(!flag) f[i]=f[i-1];if(flag) {f[i]=f[i+1];break;}
其他
void
可能不爱写return
return 0;
爱好者- 喜欢
#define int long long
,不太喜欢一会儿long long
一会儿int
- 数组一般开到最大值 + 5 +5 +5
- 任何变量名都尽量和题干一致
- 不爱用任何大写,除非题里的变量名用大写
cin
、cout
忠实粉丝,例外是字符数组读入会用scanf
、很长的变量和字符串混搭的输出会用printf
之外- 不太喜欢写快读,遇到毒瘤卡常一般喜欢关闭同步流解除捆绑
- 链前喜欢拿数组写,线段树喜欢拿数组写
持续更新中……
upd on 2023/2/6:跟风把 title 改了