国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 拜泉县| 津南区| 开平市| 邮箱| 曲松县| 平遥县| 仙桃市| 娱乐| 中江县| 天等县| 保靖县| 弥渡县| 玉树县| 岑巩县| 武宁县| 沁源县| 万宁市| 桦甸市| 武宣县| 太仆寺旗| 平遥县| 九江市| 天等县| 托里县| 双辽市| 双牌县| 微博| 洪泽县| 视频| 阿勒泰市| 永寿县| 青海省| 东丰县| 鄯善县| 巩义市| 榆林市| 伊吾县| 扶余县| 兴城市| 泌阳县| 潢川县|