《編寫高質量代碼 改善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