众所周知,在OI / ACM中常常会使用万能头文件 bits/stdc++.h,为了方便,又会常常加入 using namespace std 导入 std 命名空间内所有名称。
然而方便是方便了,这样做又会导致命名污染。比如 y0 ,偏偏有的时候用之前忘了定义,又不正确地使用了。编译器不会报错,一运行就是 Runtime Error ,就会无端端浪费很多 debug 时间。笔者没经历过这种事情,不过也有所耳闻。于是特地研究了 std 空间内预定义的名称,总结了以下命名策略。
1.不要使用下划线&全大写
2.尽可能短 5字符以下
3.避开常用的类、函数、动词及容易混淆的缩写
4.采用一套方便而防冲突的方法,如驼峰命名法或尾字符双写等
5.避开以下词: