一、別忘了為代碼加注釋。雖然注釋對(duì)程序的功能沒(méi)什么“貢獻(xiàn)”,但過(guò)一段時(shí)間,比如說(shuō)兩星期之后或者更長(zhǎng),回過(guò)頭來(lái)看看自己的代碼,說(shuō)不定已經(jīng)記不住它是干什么的了。如果這些代碼是你個(gè)人的,那還算是走運(yùn)了,不幸的是,大多數(shù)時(shí)候都是別人的不幸,很多時(shí)候大家都是在為公司寫(xiě)代碼,寫(xiě)代碼的人也許早已經(jīng)離開(kāi)了公司,但別忘了一句古話,有來(lái)有往嘛,為他人,也為我們自己,請(qǐng)為你的代碼加上注釋。

 二、始終牢記——“少即是好(Less is more)并不總是對(duì)的”。代碼效率雖然很重要,但在許多解決方案中,編寫(xiě)更少的代碼并不能改善這些代碼的效率,請(qǐng)看下面這個(gè)簡(jiǎn)單的例子:


 
if(newStatusCode.equals("SD") && (sellOffDate == null ||    
  1.         todayDate.compareTo(sellOffDate)<0 || (lastUsedDate != null &&    
  2.         todayDate.compareTo(lastUsedDate)>0)) ||    
  3.         (newStatusCode.equals("OBS") && (OBSDate == null ||    
  4.         todayDate.compareTo(OBSDate)<0))){    
  5.         newStatusCode = "NYP";    
  6.     }  

   能看明白if條件語(yǔ)句是干什么的嗎?能想出來(lái)是誰(shuí)寫(xiě)的這段代碼嗎?如果把它分成兩段獨(dú)立的if語(yǔ)句,是不是更容易理解呢,下面是修改后的代碼: