對Java開發者來說,有許多的標準和最佳實踐。本文列舉了每一個開發人員必須遵從的十大基本法則;如果有了可以遵從的規則而不遵從,那么將導致的是十分悲慘的結局。
1.在你的代碼里加入注釋
每個人都知道這點,但不知何故忘記了遵守。算一算有多少次你“忘記”了添加注釋?這是事實:注釋對程序在功能上沒有實質的貢獻。但是,你需要一次又一次的回到你兩個禮拜之前寫的代碼上來,可能一輩子都是這樣,你一定記不住這些代碼為什么會這樣。如果這些代碼是你的,你還比較的幸運。因為它有可能讓你回憶起。但是不幸的是,很多時間,這些代碼是別人的,而且很有可能他已經離開了公司。
2.不要讓事情復雜化
我以前就這么干過,而且我相信所有的人都這么干過。開發人員常常為一個簡單的問題而提出一個解決方案。我們為僅僅只有5個用戶的應用而引入EJBs.我們為一個應用使用框架而它根本不需要。我們加入屬性文件,面向對象的解決方案,和線程到應用中,但是它根本不需要這些。為什么我們這樣做?我們中的一些人是因為不知道怎么做更好,但是還有一些人這樣做的目的是為了學習新的知識,從而使得這個應用對于我們自己來說做得比較有趣。
3.牢牢記住“少即是多(less is more)”并不永遠是好的
代碼的效率是一偉大的事情,但是在很多情況下,寫更少的代碼行并不能提高該代碼的效率。請讓我向你展示一個簡單的例子。
| 以下為引用的內容: if(newStatusCode.equals("SD") && (sellOffDate == null || todayDate.compareTo(sellOffDate)<0 || (lastUsedDate != null && todayDate.compareTo(lastUsedDate)>0)) || (newStatusCode.equals("OBS") && (OBSDate == null || todayDate.compareTo(OBSDate)<0))){ newStatusCode = "NYP"; } |
我想問一句:說出上面的那段代碼的if條件想干什么容易嗎?現在,我們再來假設無論是誰寫出這段代碼,而沒有遵從第一條規則??在你的代碼里加入注釋。
如果我們把這個條件分到兩個獨立的if陳述句中,難道不是更簡單一些嗎?現在,考慮下面的修正代碼:
| 以下為引用的內容: if(newStatusCode.equals("SD") && (sellOffDate == null || todayDate.compareTo(sellOffDate)<0 || (lastUsedDate != null && todayDate.compareTo(lastUsedDate)>0))){ newStatusCode = "NYP"; }else if(newStatusCode.equals("OBS") && (OBSDate == null || todayDate.compareTo(OBSDate)<0)) { newStatusCode = "NYP"; } |
難道它不是有了更好的可讀性?是的,我們重復了陳述條件。是的,我們多出了一個多余的“IF”和兩對多余的括弧。但是代碼有了更好的可讀性和可理解性。
|
新聞熱點
疑難解答