來源:北大青鳥總部 2019年11月29日 11:20
你還記得當初你加入java程序員行列時候的誓言嗎?你還記得熬過了多少夜晚就為了漲工資的畫面嗎?你還記得你為什么會選擇加入java程序員這個行業(yè)嗎?我想我們都為了成為一名優(yōu)秀的的程序員,今天,小編整理一份文檔關于《如何成為一名優(yōu)秀的java程序員》,希望能幫助到大家!
51、按照方法名把方法排序放置,同名合同類型的方法應該放在一起。
52、不要使用嵌套賦值,即在一個表達式中使用多個 = 。
53、不要在抽象類的構建器中調(diào)用抽象方法。
54、重載 equals() 方法的同時,也應該重載 hashCode() 方法。
55、工具類(Utility)不要定義構建器,包括私有構建器。
56、不要在 switch 中使用10個以上的 case 語句。
57、把 main() 方法放在類的最后。
58、聲明方法違例的時候不要使用 Exception ,應該使用它的子類。
59、不要直接扔出一個Error ,應該扔出它的子類。
60、在進行比較的時候,總是把常量放在同一邊(都放在左邊或者都放在右邊)。
61、在可能的情況下,總是為類定義一個缺省的構建器。
62、在捕獲違例的時候,不使用 Exception, RuntimeException, Throwable,盡可能使用它們的子類。
63、在接口或者工具類中中定義常量。(5級)
64、使用大寫‘L’表示 long 常量。(5級)
65、main() 方法必須是 public static void main(String[])。(5級)
66、對返回類型為 boolean 的方法使用 is 開頭,其它類型的不能使用。
67、對非boolean類型取值方法(getter)使用 get 開頭,其它類型的不能使用。
68、對于設置值的方法(setter)使用 set 開頭,其它類型的不能使用。
69、方法需要有同樣數(shù)量參數(shù)的注釋 @param。
70、不要在注釋中使用不支持的標記,如:@unsupported 。
71、不要使用 Runtime.exec() 方法。
72、不要自定義本地方法(native method)。
73、使用盡量簡潔的的運算符號。
74、使用集合時設置初始容量。
75、單個首字符的比較使用 charAt() 而不用 startsWith() 。
76、對于被除數(shù)或者被乘數(shù)為2的n次方的乘除運算使用移位運算符 >>, << 。
77、一個字符的連接使用‘ ’而不使用 “ ”,如:String a = b + ‘c’。
78、不要在循環(huán)體內(nèi)調(diào)用同步方法和使用 try—catch 塊。
79、不要使用不必要的布爾值比較,如:if (a.equals(b)), 而不是 if (a.equals(b)==true)。
80、常量字符串使用 String, 非常量字符串使用 StringBuffer 。
81、在循環(huán)條件判斷的時候不要使用復雜的表達式。
82、對于“if (condition) do1; else do2;”語句使用條件操作符“if (condition)?do1:do2;”。
83、不要在循環(huán)體內(nèi)定義變量。
84、使用StringBuffer的時候設置初始容量。
85、盡可能的使用局部變量進行運算。
86、盡可能少的使用 ‘!’操作符。(5級)
87、盡可能的對接口進行 instanceof 運算。(5級)
88、不要使用 Date[] 而要使用 long[] 替代。
89、不要顯式調(diào)用 finalize() 。
90、不要使用靜態(tài)集合,其內(nèi)存占用增長沒有邊界。
91、不要重復調(diào)用一個方法獲取對象,使用局部變量重用對象。
92、線程同步中,使用 notifyAll() 代替 notify()。
93、避免在同步方法中調(diào)用另一個同步方法造成的死鎖。
94、非同步方法中不能調(diào)用 wait() , notify() 方法。
95、使用 wait(), notify() 代替 while(), sleep() 。
96、不要使用同步方法,使用同步塊。(5級)
97、把所有的公有方法定義為同步方法。 (5級)
98、實現(xiàn)的 Runnable.run() 方法必須是同步方法。 (5級)
99、一個只有abstract方法、final static 屬性的類應該定義成接口。
100、在 clone() 方法中應該而且必須使用 super.clone() 而不是 new 。
101、常量必須定義為 final 。
102、在 for 循環(huán)中提供終止條件。
103、在 for, while 循環(huán)中使用增量計數(shù)。
104、使用 StringTokenizer 代替 indexOf() 和 substring() 。
105、不要在構建器中使用非 final 方法。
106、不要對參數(shù)進行賦值操作。(5級)
107、不要通過名字比較兩個對象的類,應該使用 getClass() 。
108、安全:盡量不要使用內(nèi)部類。
109、安全:盡量不要使類可以克隆。
110、安全:盡量不要使接口可以序列化。
111、安全:盡量不要使用友好方法、屬性和類。
112、Servlet:不要使用 java.beans.Beans.instantiate() 方法。
113、Servlet:不再使用HttpSession時,應該盡早使用 invalidate() 方法釋放 。
114、Servlet:不再使用JDBC資源時,應該盡早使用 close() 方法釋放 。
115、Servlet:不要使用Servlet的 SingleThreadModel,會消耗大量資源。
116、國際化:不要使用一個字符進行邏輯操作,使用 Characater。
117、國際化:不要進行字符串連接操作,使用MessageFormat 。
118、國際化:不要使用 Date.toString() ,Time.toString() 方法。
119、國際化:字符和字符串常量應該放在資源文件中。
120、國際化:不要使用數(shù)字的 toString() 方法。
121、國際化:不要使用 StringBuffer , StringTokenizer類。
122、國際化:不要使用 String 類的 compareTo(), equals() 方法。
123、復雜度:建議的最大規(guī)模:
????繼承層次 5層
????類的行數(shù) 1000行(包含{})
????類的屬性 10個
????類的方法 20個
????類友好方法 10個
????類私有方法 15個
????類保護方法 10個
????類公有方法 10個
????類調(diào)用方法 20個
????方法參數(shù) 5個
????return語句 1個
????方法行數(shù) 30行
????方法代碼 20行
????注釋比率 30%~50%
以上,就是小編整理的如何成為一名合格java程序員的文檔,希望幫助到大家!
————————————————
版權聲明:本文為CSDN博主「程序yang」的原創(chuàng)文章,經(jīng)授權發(fā)布本平臺!