经验03 举足轻重——代码规范经验谈
欲成方圆而随其规矩,则万事之功形矣,而万物莫不有规矩,议言之士,计会规矩也。
——韩非子
代码规范一直是编程初学者最容易忽略的地方,殊不知代码规范对于一个项目是非常重要的。代码规范应该引起每个初学者的重视,因为现在的项目开发并不是一个人的战斗,每个参战的士兵都应该遵守军队的纪律,如果任何一个人鲁莽行事,那么这个团队就不是一个整体,更严重的是有可能导致这场战斗的失败,所以程序员也应该遵守自己的团队守则——代码规范。
Java 开发中应该遵循的规范总共有 5 点,分别是命名规范、注释规范、声明规范、语句规范和编程规范。
1.命名规范
命名规范在项目中占有十分重要的地位,否则你会发现程序中类、方法的命名五花八门,有时更会让你哭笑不得,这样的代码会让人感觉非常混乱。
❑ 标识符:所有的标识符都只能使用ASCII字母(A~Z或a~z)、数字(0~9)和下画线“_”。
❑ 包:一个唯一的包名前缀总是全部小写的字母。
❑ 类:类名是个名词,采用大小写混合的方式,并且首个字母是大写的。
❑ 接口:接口的命名规则与类的命名规则相同。
❑ 方法:方法名是一个动词或动词词组,采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写,例如:setMingRiName。
❑ 变量:变量名首字母小写,其中任何单词的首字母大写。变量名应简短且有意义,易于记忆,例如:mingRiAddress。除非是一次性的临时变量,否则不要使用单个字符的变量名。
❑ 常量:常量名的所有字母都应该大写,并且每个单词都应该用下画线“_”隔开,例如:Ming_Ri_Number。
2.注释规范
注释应该是程序员常常忽略的问题,但是在实际项目开发中注释占有相当重要的地位,所以让我们的注释也规范一些,专业一些。
❑ 注释一般情况下都使用“//”;对于所有的javadoc的注释则使用“/** */”;而临时对代码块进行注释使用“/* */”。
❑ 所有的源文件都应该在开头有一个注释,其中列出文件名、创建日期和类的功能概述。
❑ 每个属性和方法(main方法除外)必须添加注释。
3.声明规范
正确地声明一个变量,才不会被它莫名奇妙地骚扰。其实计算机也是很听话的,只要你不违反规则,它是绝对不会惩罚你的。
❑ 一行只声明一个变量。
❑ 只在代码块的开始处声明变量。
❑ 所有变量必须在声明时初始化。
❑ 避免声明的局部变量覆盖上一级声明的变量。
4.语句规范
也许程序中一个小小符号都会折腾你好几天,最好还是小心为妙。俗话说“小心行得万年船”,编程中千万不要忽略细节的作用。
❑ 每行至少包含一条简单语句,最好每行一条语句。
❑ if语句总是用“{”和“}”括起来。
❑ 在一个带返回值的return语句中,返回值不使用小括号“()”括起来。
❑ 当在for语句的初始化或更新子句中使用逗号时,避免因使用3个以上变量而导致复杂度提高。
❑ 在switch语句中,每当一个case顺着往下执行时(因为没有break语句),通常应在break语句的位置添加注释。
5.编程规范
编程规范更多是需要自己去体会,程序写的多了,自然而然就知道程序中一些默认的规则,平时多细心一些,你也会发现其中的奥秘。
❑ 提供对实例及类变量的public或private访问控制,尽可能不使用默认值或protected访问控制。
❑ 避免用一个对象访问一个类的静态变量和方法。应该用类名替代。
❑ 避免在一个语句中给多个变量赋相同的值。
❑ 用switch语句实现多条件分支判断。
❑ 程序中应尽可能少使用数字(或字符),尽可能定义静态变量来说明该数字(或字符)的含义。程序中需要赋值或比较时,使用前面定义的静态变量。在循环控制中例外。
代码规范应该是程序员的一个习惯,喜欢也好不喜欢也罢,这是程序员必须强制自己执行的一条规则,遵守代码规范会为项目开发带来一定的便利,它会让团队开发的程序更像是一个整体,在维护项目代码的时候就会体会到代码规范所带来的好处。