歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

改善Java程序的151個建議 讀後感

《編寫高質量代碼 改善Java程序的151個建議》是一本關於Java最佳實踐的集大成之作,它從Java語言本身、Java程序的架構設計和思想、Java程序的編碼規范和習慣等方面對151個經典的問題給出了解決方案,為Java開發者提高開發效率和編寫高質量的Java代碼提供了寶貴的建議。

PDF高清完整版 下載地址:http://www.linuxidc.com/Linux/2014-06/103388.htm

下面是本人的讀後感

建議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.linuxidc.com/Linux/2014-06/103389p2.htm

Copyright © Linux教程網 All Rights Reserved