总结一下我的代码风格
我的代码风格大致有以下几种情况:组织中追随组织领导,公司里老板说的都对,学校里大佬教的都好╮(╯▽╰)╭ 仅其它一些自己的开源小项目则遵循以下风格→_→
关于强迫症
首先说好,
四个空格的Tab缩进大法好!!!
四个空格的Tab缩进大法好!!!
四个空格的Tab缩进大法好!!!
大括号不换行!!!
大括号不换行!!!
大括号不换行!!!
关于命名
命名以让别人一眼就能明白为佳,理想中看你的代码就像读一首英语小诗般惬意 ::aru:insidious::
常/变量命名
编译器常量全大写,字符间用单下划线连接。如:
1 |
变量基本采用小驼峰命名,规则是单词之间直接连接(无需下划线),第一个单词全小写,之后的单词首字母大写。如:
1 | String usrName = "IoTgod"; |
频繁调用的变量名称不易过长,但却要表意清晰。
要实现这一点,可以尝试部分省略单词中的非首字母元音,如 user 可以简写为 usr,password 可省略为 passwd 或 psswd。但简化后的名字仍需容易辨识。
全局变量使用 g_ 加变量名称命名,如
1 | global int g_isLightOn = 0; |
局部静态变量使用 s_ 加变量名称,如
1 | static int s_errorCounter = 0; |
常量变量,命名与普通变量一致,如
1 | const float pi = 3.14159265; |
函数命名
函数命名技巧偷师自大名鼎鼎的Nginx,并在其基础上稍有变动。
基本法则为 小写标签名+__(双下划线)+小写动词+小写名词()
名词与名词间用单下滑线链接。
例如:
1 | function db__get_usr_info(); |
其中db意为Database, 提示这个函数属于数据库操作标签,作用是获取用户信息。
如果你不需要标签(比如在一些面向对象的语言中),你可以肆意省略标签。如:
1 | function get_usr_info(); |
与变量命名不同,函数命名不必要很短,以表达清楚函数功能为目标
关于注释
其实如果能把变量函数命名做好,便不需要什么注释了,但遗憾的是,,我们还是不得不注释。。
文件注释
文件注释主要用于声明一些文件功能,分类名,文件名,版权等信息,一个样式如下:
1 | /** |
类注释
类注释用于声明类的一些基本信息,如类功能,作者姓名、所属分类、所属文件。例如:
1 | /** |
函数注释
函数注释在函数前,主要包含函数功能,函数修饰符,其各参数的类型、名称、以及文字说明,返回值的类型及文字说明。
1 | /** |
一些小细节
- 赋值等号两边要有空格,如
b = c; b = 15;