国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

代碼整潔之道—初寫代碼者易犯的錯誤

2024-04-25 20:45:43
字體:
來源:轉載
供稿:網友

1、不必要的重復代碼

      很多初學者喜歡復制粘貼,是個非常不好的習慣,最后導致系統(tǒng)充斥著大量重復的代碼,對后期的維護相當不便。這個是初學者最易犯的低級錯誤。

 

2、邏輯混亂、思路不清晰

      

     我曾見過這樣的代碼

[java] view plaincopy
  1. boolean flag;  
  2.   
  3. bsp;flag = str.indexOf(",")>-1;  
  4.                      if(flag==false)  

大家注意這句

[java] view plaincopy
  1. if(flag==false)  

 

當然這個不能算錯誤,但是給人的感覺很不好。

 

還有三四層的if  else 、循環(huán)里面套三四層的循環(huán),絕對看到你頭暈腦脹。

 

例如以下代碼:

 

[java] view plaincopy
  1. if(userObj!=null){  
  2.     if(!"3".equals(userObj.getType())){  
  3.         if("1".equals(userObj.getStatus()))  
  4.             throw new DefineException("");  
  5.         if("2".equals(userObj.getStatus()))  
  6.             throw new DefineException("");  
  7.     }else{  
  8.         throw new DefineException("");  
  9.     }  
  10. }else{  
  11.   throw new DefineException("");  
  12. }  

既然已經拋出異常了,咋還寫這么多if else,還有這么多 1 2 3誰又知道是什么意思,若是以后1 2 3 含義有變化那就要到處修改了。 修改如下

 

[java] view plaincopy
  1.   if(userObj==null){  
  2.         throw new DefineException("");  
  3.     }  
  4.            
  5.     if(UserObj.TYPE_WEB.equals(userObj.getType())){  
  6.         throw new DefineException("");  
  7.     }  
  8.     if(UserObj.STATUS_LOCKED.equals(userObj.getStatus())){  
  9.         throw new DefineException("");  
  10.     }  
  11.     if(UserObj.STATUS_INVALID.equals(userObj.getStatus())){  
  12.         throw new DefineException("");  
  13.     }  
  14.       

 

將狀態(tài)以靜態(tài)常量的方式寫到VO類里面,這樣以后維護起來也方便一些。

 

3、類的職責過多

      這個也是初學者經常犯的錯誤,違反單一職責原則,將本來不屬于A類的功能寫到A類里來。造成耦合過高。

 

能力有限暫時寫這么多,拋磚引玉。歡迎大家補充集思廣益,后續(xù)我將大家的意見整理出來,持續(xù)更新。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 黄骅市| 罗山县| 安康市| 宁武县| 海安县| 克山县| 博白县| 博湖县| 万盛区| 英吉沙县| 湘阴县| 德保县| 安庆市| 区。| 佛山市| 黄平县| 延津县| 布尔津县| 宁乡县| 孙吴县| 宜宾市| 句容市| 吉木萨尔县| 祁连县| 饶河县| 泗阳县| 靖安县| 金华市| 临武县| 大港区| 玛曲县| 平果县| 广宁县| 闽清县| 浦东新区| 库伦旗| 安顺市| 怀安县| 临邑县| 岗巴县| 厦门市|