改善Java程序的151个建议 读后感

《编写高质量代码 改善Java程序的151个建议》是一本关于Java最佳实践的集大成之作,它从Java语言本身、Java程序的架构设计和思想、Java程序的编码规范和习惯等方面对151个经典的问题给出了解决方案,为Java开发者提高开发效率和编写高质量的Java代码提供了宝贵的建议。

PDF高清完整版 下载地址:

下面是本人的读后感

建议1:不要在常量和变量中出现易混淆的字母
 包名全小写,类名首字母全大写,常量全部大写并用下划线分隔,变量采用驼峰命名法命名。
 当数字与字母 l 或者 o 一起使用时,字母 l 一定要大写, 字母 o 一定要加注释。
 

请大家猜一下输出结果
 public class SuggestOneChapter {
 public static void main(String[] args) {
 long i = 1l;
 System.out.println("i的两倍是:" +  (i+i));
 }
 }
 

建议2:莫让常量蜕变成变量,务必放常量的之在运行期保持不变。
 

建议3:三元操作符的类型务必一致
 

public class SuggestOneChapter {
 public static final int RAND_CONST = new Random().nextInt();
 public static void main(String[] args) {
 int inti = 80;
 String s = String.valueOf(inti < 100 ? 90 : 100);
 String s1 = String.valueOf(inti < 100 ? 90 : 100.0);
 System.out.println(s + ".equals(" + s1 + "):"+ s.equals(s1));
 }
 }
 

输入结果为false
 因为 在s1中 90 会在编译期转变为 90.0。这涉及到了三元操作符的类型转换问题。
 

建议6:覆写变长方法也循规蹈矩
 覆写的方法参数与父类相同,不仅仅是类型,数量,还包括显示形式
 public class Test {
 public void method(String str, Integer[] i) {
 System.out.println("method2");
 }
 }
 

public class SuggestOneChapter extends Test {
 public static void main(String[] args) {
 SuggestOneChapter so = new SuggestOneChapter();
 so.method("", 50);
 
Test t = new SuggestOneChapter();
 t.method("", 50);//编译不会通过,The method method(String, Integer[]) in the type Test is not applicable for the arguments (String, int)
 
}
 @Override
 public void method(String str, Integer... is) {
 System.out.println("method1");
 }
 }
 

建议7:警惕自增的陷阱
 

public class SuggestOneChapter {
 public static void main(String[] args) {
 int count = 0;
 for(int i=0; i<10; i++) {
 count = count++;
 }
 System.out.println("count:" + count);
 }
 }

输出结果是 count:0
 

至于是什么原因造成的,有兴趣的可以查一查。切记不要这样写。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/6136f69fee4e0099db90bd28964854b3.html