刚刚初学Java,我的方法时,多看几本基础方面的书籍,全面较深入了解基础的知识和一些技巧,尤其代码编写的规范,这样可以更好的阅读一些案例代码,帮助自己更好掌握知识与技能。
本文摘自清华大学出版社出版的《Java程序开发案例课堂》,特别建议初学Java者阅读这本书。
在Java开发中所要遵守的编码规范大体上7点:命名规范、声明规范、语句规范、注释规范、编程规范、文件内容规范及缩进排版规范。
1、命名规范
命名规范是一种约定,也是程序员之间的良好沟通的桥梁。
(1)标识符严格区分大小写(这和其它主流编程语言是一致的)。
(2)标识符是由字母、数字、下划线(_)和美元符号($)组成的字符序列。之所以有美元$符号,我想主要是Java编译器编译的内部类.class文件的命名是“外部类名$内部类名.class”这种方式,其它地方还是不必使用。
(3)标识符必须以字母、下划线或者美元符号$开头,不能是数字。
(4)标识符不能是关键字或保留字。
(5)对变量和方法总是使用小写字母。如果名称由多个单词组成,将它们连接在一起,第一个单词的首字母是小写,其它单词的首字母大写。这是目前流行的“驼峰法”,在Python语言中,比较流行使用下划线连接多个字母,组成变量名。
(6)类名中每一个单词的首字母都是大写。
(7)常量中的每一个字母大写,单词之间使用下划线。
给类名、方法、变量起一个好的名字是很令人头疼的事,但却是很有意义的事。除了上面规范,让名字有一定的意义,能够根据名字就联想到具体的意义及使用,将是特别有意义的事。
2、声明规范
Java中声明变量比较严格,初学时,我总是感慨Python真好。不过严谨应该有严谨的好处。Java中声明规范有助于代码的阅读和理解,可参照下面几点:
(1)变量在声明时,同时进行初始化。
(2)同一行只声明一个变量。
(3)不把不同类型的变量声明在一行(虽然允许)。
(4)方法与方法之间空一行。
3、语句规范
语句规范使整个程序的思路比较清晰,同时有助于代码的阅读和理解。
(1)每行至多包含一条语句。
(2)复合语句是包含在大括号中的语句序列,如{语句}。
(3)带返回值的return语句,返回值不使用小括号括起来。
(4)if语句总是使用大括号{}括起来。
(5)在for语句的初始化或者更新语句中,避免使用使用3个以上变量,导致程序复杂度提高。
4、注释规范
定义注释规范的目的是增强程序的可读性,让项目中所有文档都看起来是同一个程序员写的。
(1)注释尽可能使用“//”;对于所有的javadoc注释,使用“/** */”,而临时代码块进行注释使用“/* */”。
(2)对局部变量的注释,写在同一行的右侧。
(3)在代码逻辑块前加上功能说明。
(4)在判断条件的上面加上说明注释。
(5)代码中建议有20%空行(方法与方法之间等),有20%行的注释,提升可读性。
5、编程规范
编程规范可以减少对内存的需求量,加快代码的执行速度,同时降低程序的出错率。
(1)提供对类的对象及类变量的访问控制,尽可能不使用默认(default)的访问控制。
(2)避免用一个对象访问类的静态变量和静态方法,而是使用类名代替。
(3)避免在一个语句中给多个变量赋相同的值。
(4)在含有多种运算符的表达式中,尽可能使用圆括号(优先级最高)括起来,避免运算符优先级问题。
(5)如果使用JDBC,考虑使用java.sql.PrepareStatement,而不是java.sql.Statement。
6、文件内容规范
文件内容规范有助于减少运行时产生不必要的麻烦。
(1)每个源文件的代码函数不超过500行。如果超过,可能需要思考代码的复用,及类的设计不够符合一些通用原则,需要进行重新抽象与拆分。
(2)每个源文件中都含有一个单一的公共类或接口。
(3)在多数Java源文件中,第一个非注释行是包语句。
(4)文件名和类名相同。Java编译要求源文件名与文件中的public类名完全相同。
(5)对于关键的方法要多加注释。
7、缩进排版规范
(1)每一行尽量不超过70个字符。
(2)当一个表达式无法容纳在一行内时,可以如下原则换行:
- 在一个逗号后面断开;
- 在一个操作符前面断开;
- 选择较高级别(higher-lever)的断开,而非较低级别(lower-level)的断开;
- 新的一行应该与上一行同一级别表达式的开头处对齐;
- 如果以上规则导致代码婚礼或者代码都堆积在右边,那就代之以缩进8个空格。