代码素养与规范

在学习之余,我想总结一下关于代码基本素养与规范的问题

  • 全局变量与局部变量

全局变量默认初始化为0,局部变量务必进行初始化

且开数组的时候,尽量开为全局变量,开为局部变量空间容易出问题

  • 代码注释与风格

代码注释可以写简单的几句或者不写,切忌长篇大论,很影响代码美观程度

代码风格,在某些合适的地方尽量打一些空格与回车,看着舒服,并且debug的时候好d

  • main函数的传参为空
  • 变量名字重复

全局变量与局部变量尽量不要重复,有时候会出现一些奇奇怪怪的错误

  • 使用系统自带的关键字

比如find,next,time,容易出锅,如果你不知道这个单词是不是关键字,试试首字母大写?或者加一个下划线?

就像这样:Find,Next,Time,find_yhm,next_yhm

  • AC,WA,RE,UKE,MLE,TLE等相关状态的解读

ac是你通过了

wa是你答案错误,通常是由于你算法错误,或者细节出锅导致,少数情况下是数组开小了

re是运行时错误,大多数是由数组开小了

uke是输出超过限制,你算法绝逼有问题。。。。

mle是你的空间超过内存限制,通常需要一些优化空间的技巧,比如滚动数组等等

tle是你超时了,就是你程序跑得太慢了,这时候一般会选择开启\(O_2\)或者加上卡常火车头,或者选择改进算法

  • 少用cin,输入多用scanf和快读

cin,众所周知得慢


关于我的码风,给出详细解释

  • 在字母后边必定跟着逗号,或者分号,然后才是空格

  • 花括号不换行,换行之后会显得十分凌乱,不换行,整齐

  • 三缩进,四缩进在for 内,距离太大,显得十分苍白无力

  • for循环内无新定义变量

  • 数组必须开为全局变量

  • 初始变量时,int不与double同行,在int内,一维数组不与二维数组同行,变量不与数组同行,在同一行内,按照字典序依次排开

  • 函数与后面的括号之间无空格

  • 自加/减运算的时候,从来都是++ x/ -- x

  • 除了主函数外,别的函数都有inline

  • 变量赋初值一定是在后面使用括号

  • 无论是int还是void,函数结束之后都必须有return

  • if 与后面的表达式之间必须有个空格

  • 如果只有一行变量,不用花括号

  • 在适当的地方,一定会有回车换行,来区分代码块

  • 在max与min里,如果表达式过于长,会选择在加号处换行

  • 字母与数字混合时,字母与表达式与数字之间必须有空格隔开

详见下面截图