原文連接:http://tieba.baidu.com/p/5057895435?pn=1 spring
1:代碼格式,駝峯標識,縮進,命名規範什麼的session
2:寫代碼時請先想後寫,不要邊想邊寫ide
3:一個類裏請不要寫太多方法(實體類除外)設計
4:一個方法裏不要寫太多代碼對象
5:當一段代碼被你複製到多個地方使用時,請封裝這段代碼繼承
6:繼承能夠幫你節約不少代碼,當時請儘可能少用繼承。做爲一種強關聯結構,若是你大量的運用繼承來管理你類的關係,那麼在未來發生一點點需求的變化對你來講均可能會是一場災難接口
7:組合和繼承相反,是一種鬆散的結構,所以用組合來代替繼承是一種很好的設計事務
8:思考一個功能時不要考慮先幹什麼後幹什麼,正確的思考方式是字符串
1:功能須要用到哪些類?2:類與類之間的關係時什麼get
9:將接口做爲入參是一種很好的設計方式,請在你的代碼中嘗試使用它
10:接口職責請儘可能單一,5個接口協同完成一個功能要遠遠超過一個接口完成5個功能
11:若是你用一個字符串做爲標識,請嘗試把它設計成數據字典或配置文件
12:若是你實在懶得寫數據字典或配置文件清至少把它寫成枚舉
13:若是你實在懶得寫枚舉,請至少把它寫成常量
14:軟件設計中有不少原則,大部分你能夠不記,但請務必記住其中的一個「開閉原則」
15:在Hibernate中除了數據字典外,其餘的關聯關係都建議設置爲lazy(特殊狀況下例外)
16:在Hibernate中將外鍵也映射爲實體類中的一個屬性會給你帶來莫大的好處
17:一樣在多對多關聯中,將中間表也映射爲一個實體類一樣會帶給你莫大的好處
18:.在Hibernate中若是你分不清saveorupdate和merge的區別,那麼請使用merge
19:OpenSessionInView是一個不錯的過濾器,但請不要過度依賴它
20:Map是一種很好的容器能幫咱們解決不少問題,但請不要濫用。
public Map<String, String> xxx(Map<String,String> param);
像這種方法,在沒有註釋的狀況下鬼都不知道你想幹嗎
21:哪些業務該放在一塊兒寫?哪些業務該分開寫?若是你正在糾結此類問題,那麼請站在事務的角度上思考,須要在同一事務運行的業務請寫在一塊兒,不然請分開。
22:當你的代碼很是複雜時能夠考慮將service也分爲兩層,一層專門用來提供CRUD服務,另一層專門用來組織對象關係
23:泛型是一種很是好的寫法,請不管如何也要使用
24:若是你用session作用戶登陸,請在用戶登陸成功後刪除掉舊的session,並將舊session中存放的內容放到新session中
25:若是你用spring security來作用戶登陸則能夠沒必要像上面那樣作,由於spring已經替你作了
26:工廠模式和單例模式是兩個常見的模式,經常被新手提起,但在spring橫行的當下,這兩種模用的相對較少了,反而策略模式和觀察者模式常常有機會使用