日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

作為一個程序員,大部分時候,如果不是一個人承包整個項目,那么有1/3的時間在寫代碼,1/3的時間在看別人寫的代碼,剩下的1/3的時間在摸魚。

那么如何提高摸魚的時間?看別人寫代碼十分頭疼,分分鐘想罵人,自己卻又寫得龍飛鳳舞,接下來,來看看如何進行代碼重構,來提升一下自己的大神氣質。

  • 提煉函數

程序猿大部分時間都在與函數打交道,我們都希望看到前前前同事寫的函數代碼具有這樣特點:

  1. 良好的命名:比如用戶登錄,寫成ada(){}如果不寫注釋,還需要去看代碼到底封裝了神馬東西,是不是想罵gou?寫成userLogin(){}是不是一目了然?連注釋都不用寫了,還可以練習英語。
  2. 函數長度適中,功能獨立:如果一個函數過長,不得不加上若干的注釋說明,才能夠讓這個函數顯得易讀一些,都這樣了還想邏輯清晰明了嗎?我們應該避免出現超大函數,如果代碼中有一段代碼可以獨立出來,那么最好把這個代碼放進另外一個獨立的函數中,這樣做的優點:

1)有助于代碼復用

2)獨立出來的函數更容易被覆寫,一個項目開發完了,可能會重復迭代,次數多了,自己都看不懂自己寫的代碼。

 

  • 合并重復的條件片段

如果處理鏈接上的頁數跳轉,當頁數大于或者小于總頁數的時候去首頁,其他正常跳轉:

if(currPage <=0 || currPage >totalPages){
			currPage = 0;
   		 jump(currPage);// 跳轉
		}else {
			  jump(currPage);// 跳轉
}

可以把公共的部分獨立出來:

if(currPage <=0 || currPage >totalPages){
			currPage = 0;
		}
 jump(currPage);// 跳轉

  • 把條件分支語句提煉成函數

  • 合理使用循環

  • 提前讓函數退出代替嵌套條件分支

如果代碼不滿足當前設定的條件,那么對下面的代碼不再感興趣,那應該在不感興趣的時候就提供出口,而不需要再繼續執行下面大量的、對預期結果無用的代碼。


  • 傳遞對象參數代替過長的參數列表

有時候一個函數可以接收多個參數,而參數的數量越多,函數越難理解和使用,這時候可以把參數放入一個對象內,然后把參數傳入對象中使用。這樣就不必關心參數的數量和順序了,只要保證key不變就可以了。


  • 盡量減少參數數量

我們需要搞清楚設置為參數的變量的具體意義,當一個函數不需要參數就能夠使用的時候,是深受開發者喜愛的。


  • 少用三目運算符

如果條件太多,目運算符就會變得沉重,這樣修改起來也是很吃力的。


  • 合理使用鏈式調用

  • 適當地寫注釋

要寫有什么用,而不是復述代碼

如下,這樣的注釋是不是還不如不寫:

/*
* 定義了一個變量,當show等于1的時候,fresultData等于show的時候,值為pagesList_1,否則為:pagesList_2
*/
let resultData = show==1?:pagesList_1:pagesList_2 ;

對比:

let resultData = show==1?:pagesList_1:pagesList_2 ;// 1: A類訂單結果,其他值:B類訂單結果

  • 用return退出多重循環

比如使用雙重循環,內部循環達到某個臨界值的時候跳出循環,這時候使用return比使用break可讀性更高。

分享到:
標簽:重構 代碼
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定