本人不喜欢英语(四级没过...), 所以一直用中文写代码, 除了关键字和别人写的库, 剩下的都是中文. 说实话, 我看着满屏的中文觉得挺舒服的.
易语言是我的启蒙语言, 后来用c++, 还是保留了用中文写代码的习惯. 写代码的过程经常出现一些名字重复的情况, 比如"使用", 不看上下文根本不知道这是变量还是函数还是参数, 我便想了一些办法来解决, 久而久之也发明了一套中文编程命名法, 以中文为主, 英文用来做标记提高可读性.
偷懒原则
有时候为了偷工减料, 可以使用一些比较短的名字. 比如:
int a, b, c;//偷了个懒
变量/常量
变量名统一用v开头命名.
常量我分成编译期常量和运行期常量, 编译期常量用c开头, 运行期常量用v开头
int v数组[] = {1, 2, 3, 4};
const int c数量 = 4;
参数名以p开头, 因为参数很容易跟变量重名
void f(int p数字) {
v数字 = p数字;
}
枚举用e开头
enum E状态 {
e甲,
e乙,
e丙
};
函数
函数用f开头
bool f是() {
return v是;
}
类型
定义的类型都用大写开头, 然后对应的英文首字母: C类, S结构, I接口, E枚举, U联合
类型别名用小写t开头
typedef int t整数;
//↓模板
template<typename t> f(t) {}
二级前缀
前面都是一级前缀, 主要用来说明"这是什么?", 二级前缀是接在一级前缀后面, 主要说明"作用". 在不影响可读性的情况下通常可以省略二级前缀.
指针, 不管是指针还是指针的指针, 都用p表示.
int vp数组 = v数组;
函数指针f
std::function<void(std::function<void()>)> vf = [](std::function<void()> pf) {
pf();
}
是否w, 常用于函数.
bool fw创建();
bool fw有效();
获取g/设置s, 比英文的get/set简短多了.
float fg大小();
float fg方向();
void fs大小(float);
void fs方向(float);
其它
有一些东西没有前缀, 比如命名空间, 宏, 因为这种东西加不加前缀影响不大.
还有输入法的问题, 最好使用能快速切换中英文的输入法, 比如搜狗, qq, 微软, 按shift键就能切换中英文.