养成良好的java编程习惯
1. 应该在每个程序的开始都加上注释,解释该程序的目的、作者以及程序最后一次被修改的日期和时间。
2. 使用空行和空格来增强程序的可读性。
3. 按照约定,类名标识符中的第一个字母大写,同时将其后每个单词的首字母都大写。java程序员认为这样的标识符通常表示java中的类,所以遵守这个约定,使其可读性增强。
4. 程序中界定类主体的花括号或者方法的花括号注意键入{}然后缩进一级,一方面增加可读,另一方面防止遗漏花括号。
5. 选择你喜欢的缩进量,并且固定使用;可以采用TAB键来创建缩进,单不同编辑器的制表位所产生的间距不同。建议每一级缩进使用3个空格。
6. 在参数列表中每一个逗号之后加一个空格可提高程序可读性。
7. 每个变量都用单独的行来声明,便于在每个声明之后加上描述性的注释
8. 选择有意义的变量名,使程序具有自说明性。也就是说,只要阅读程序本省就可以理解程序的功能,不需要阅读手册或大量其他注释。
9. 按照惯例,变量名标识符以小写字母开头,并且第一个单词之后的每一个单词都用大写字母开头。例如,变量名标识符firstNumber中的第二个单词Number的首字母大写。
10. 在二元运算符两侧都加上空格会使其更加醒目,提高程序的可读性
11. 在复杂的算数表达式中加入括号()即使是不必须的,亦可以使其更易读。
12. 如果语句较长,可以将它写成多行。如果必须将语句跨行写,应选择有意义的断点,如在逗号分隔列表中的某个逗号之后,或在长表达式的一个运算符之后。如果语句跨了两行或者更多行,应该将所有的断行都缩进。
13. 在书写包含多个运算符的表达式时,应参考运算符优先级表。要保证表达式时按照你所期望的顺序进行计算的。如果不确定复杂表达式中的计算顺序,使用括号来强制实现顺序,就想代数表达式中那样。注意,有些运算符,如赋值(=)是从右至左结合的,而不是从左至右结合的。
14. 应该在每个域和方法声明前加一个访问修饰符。作为约定俗成的规则,实例变量应该声明为专用的,方法应该声明为public(某些方法如果只是由该类的其他方法访问,则适合声明为private)
15. 类中的各个域应当先被列出,这样便于阅读
16. 在方法声明之前加一个空行,可以使各个方法分隔并且增强程序的可读性。
17. if...else语句的两个主体不封都应该是缩进的。
18. 如果有几级缩进,每一集都应该缩进同样数量的空格。
19. 条件表达式比if...else的可读性差,因此应该仅用于替代两个值之间进行选择的简单if...else语句。
20. 为了提高可读性,在声明语句和方法中的其他语句之间留一个空行。
21. 与二元运算符不同,一元运算符(如++or--)应该与操作数相邻放置,中间不能留空格。
22. 在循环和选择控制语句的上下方都加上空行,并将语句体缩进,以增强可读性。
23. 在while或者for语句的条件中使用终值,并用<=关系运算符,有助于避免差1错误。对于一个指示值0~10的循环,循环条件应该是counter<=10,而不是counter<=10(后者会产生差1错误)。或者采用counter<11。许多程序员喜欢基于零的计算方式,如果要计数10次,则counter初始化成0,并且循环继续测试条件为counter<10。
24. 在大多数情况下,前缀的增量和后缀增量方式都可用于语句中的变量加1.在这两种情况下的效果是完全一样的,只是前缀增量方式稍微有些性能优势。一般情况下,我们假声编译器能够对代码进行优化以获得最佳性能,那么久应该选用自己感觉最习惯使用的方式。
25. 尽可能将控制语句首部的大小限制成单独一行。
26. 在for语句的initiallization和increment部分,只放入那些与控制变量有关的表达式。对其他变量的操作应该出现在循环之前(如果这些变量只执行一次,与initialization语句类似)或者循环体中(如果程序每次循环遍历都执行这些操作,与increment或decrement类似)。
27. 不要使用double或者float类型的变量来执行精确的货币计算。浮点数的不精确性会产生错误导致不正确的货币值。
28. 即使不是必须用,在do...while语句中应该总是包含花括号。这样有助于消除while语句和只包含一条语句的do...while语句之间的二义性
29. 在一个switch语句中,尽管case和default情况都能够以任意次序发生,但还是应该吧default情况放在最后。当default放在最后时,这种情况就不需要break语句了。一些程序员仍会加上这个break,以便代码更明晰,并与其他情况对称。
30. 一定要熟悉javaAPI提供的丰富的类和方法。
31. 在常量名中只使用大写字母。这样可以使常量名在程序中显得很突出,并且可以提醒程序员,这些事枚举常量而不是变量。
32. 使用枚举常量会使程序更易阅读和维护。
33. 为了提高可读性,每个声明语句中只声明一个变量。
34. 常量变量又称命名变量或者只读变量。它们比直接用值表示使程序可读性更强。
35. 根据java语言规范(javalanguagespecification)的第九章,声明接口方法时不带关键字Public和abstract是正确的风格,因为它们是多余的。类似的,声明常量时也不需要带关键字public和static以及final,它们也是多余的。