寫java寫了也12年了,不決的本身是高手,可是也體會了一些變化。總的來講,Java能夠分紅幾個層次:java
首先是需求理解層次,這個層次的coder能理解需求,把需求轉化成代碼;設計模式
第二個層次是單測,可以對寫出的代碼進行測試,單測有幾個要素:構造輸入,調用服務,得到輸出,檢驗輸出。初級的單測只測試最簡單的邏輯,複雜單測能測試異常,邊界,以及其它複雜的邏輯。緩存
第三個層次是規範,命名,註釋,須要能符合規範。符合規範的代碼看起來比較專業,不會讓人以爲業餘。性能優化
第四個層次是可讀性,代碼要可讀須要知足一些條件,結構合理,命名合理,以及註釋的合理性。結構合理就是要遵照solid原則;命名合理,要求命名的用詞準確,含義一致,含義與代碼一致;註釋合理,要求有意義的註釋,不冗餘,不缺乏。運維
第五個層次是邏輯嚴密,代碼須要考慮各類狀況,不能只處理意料之中的情形,還要處理異常狀況,邊界狀況等。性能
第五個層次圍繞着代碼的使用,代碼須要運維,須要被別人調用,也就須要調用起來比較容易,容易維護,須要詳細的日誌,錯誤的拋出,自動重試等;測試
第六個層次須要考慮預防泄露,性能優化。不能使用不合理的循環,使用緩存,線程池等提升系統性能。優化
第七個層次,考慮變化,考慮變化有多種方式,配置文件的使用,設計模式的使用都是支持變化的方法。線程