擇摘from華為技術有限公司Java語言程式設計規範

2021-06-26 20:33:03 字數 2166 閱讀 2009

7  

編碼規範

7.1 規則

6.異常捕獲後,如果不對該異常進行處理,則應該紀錄日誌或者

ex.printstacktrace() 。

8.執行期異常使用runtimeexception的子類來表示,不用在可能丟擲異常的方法宣告上加throws子句。

13.除錯**的時候,不要使用

system.out 

和system.err 

進行列印,應該使用乙個包含統一開關的測試類進行統一列印。

7.2建議

5.對於建立的主要的類,最好置入

main()

函式,包含用於測試那個類的**。 7.

源程式中關係較為緊密的**應盡可能相鄰。

8  jtest

規範8.1  

規則(1-2 級)

5.不要在

if 語句中使用等號

= 進行賦值操作。

9.不要覆蓋父類的靜態方法和私有方法。

10.不要覆蓋父類的屬性。

11.不要使用兩級以上的內部類。

12.把內部類定義成私有類。

13.去掉介面中多餘的定義(不使用 public, abstract, static, final 等,這是介面中預設的)。

16.不要使用

system.getenv() 

方法。

17.不要硬編碼『\n

』和『\r

』作為換行符號。

26.執行緒同步中,在迴圈裡面使用條件測試(使用

while(iswait) wait() 

代替if(iswait) wait()

)。27.

不掉用thread 

類的resume(), suspend(), stop() 

方法。28.

減小單個方法的複雜度,使用的

if, while, for, switch 

語句要在

10個以內。

29.在

servlets

中,重用

jdbc

連線的資料來源。

8.2 

建議(3

級或以上) 4.

不要對浮點數進行比較運算,尤其是不要進行

==, !=

運算,減少

>, < 

運算。 9.

不要定義

error 

和runtimeexception 

的子類,可以定義

exception 

的子類。

13.類中不要使用非私有(公有、保護和友好)的非靜態屬性。

16.初始化時不要使用類的非靜態屬性。

17.顯式初始化所有的區域性變數。

18.按照方法名把方法排序放置,同名合同型別的方法應該放一起

24.把

main() 

方法放在類的最後。

33.對返回型別為

boolean 

的方法使用

is 開頭,其它型別的不能使用。

42.單個首字元的比較使用

charat() 

而不用startswith() 。

43.對於被除數或者被乘數為2的

n次方的乘除運算使用移位運算子

>>, << 。

44.乙個字元的連線使用『

』而不使用

「」,如:

string a = b + 'c'。

45.不要在迴圈體內呼叫同步方法和使用

try-catch 塊。

49.對於「

if (condition) do1; else do2;

」語句使用條件操作符「

(condition)?do1:do2;」。

58.不要重複呼叫乙個方法獲取物件,使用區域性變數重用物件。

60.避免在同步方法中呼叫另乙個同步方法造成的死鎖。

62.使用

wait(), notify() 

代替while(), sleep() 。

71.使用stringtokenizer 

代替indexof() 

和substring() 。

72.不要在構建器中使用非

final 

方法。

78.安全:盡量不要使用友好方法、屬性和類。

華為技術面試

9.14 上午十點半華為第一輪面試 1 人工智慧 說乙個演算法 仔細描述 2 編譯原理的過程 語法分析的具體實施過程 3tcp與udp的區別 4 程序與執行緒的區別 5 快速排序的過程 講解 1 人工智慧 我學習了 遺傳演算法 下面我講一下遺傳演算法 2編譯的過程 源 預處理 彙編 目標 可執行檔案...

華為技術服務面經

花生夢終於圓了,前天收到了華為的offer。下面小弟說下這次的華為經歷吧,本人妓院水碩一枚,投簡歷的時候想投軟開的,害怕大牛太多。但是我有引以為豪的三寸不爛之舌,所以毅然選擇了能多少用點自己的技術又能發揮自己扯淡水平的銷服類職位 技術服務。我是九點四十五那一批。出發前一晚上我熬夜準備了自己的自我介紹...

直播 華為技術 HBase的DBA之路

大家都說nosql資料庫寫入效能好,查詢效能好,能存海量資料,tb級 pb級分分鐘的事情,但是為什麼到自己手上的時候,幾百g 幾t的資料寫入和查詢都不盡人意呢?在我上大學的時候就聽說,在關係型資料庫時代,dba那是很吃香的,收費可是要從出門開始按小時收費的?然而nosql時代,似乎沒有官方蓋戳的db...