国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > 什么是可維護性的代碼(上)

什么是可維護性的代碼(上)

來源:千鋒教育
發布人:qyf
時間: 2022-09-14 16:25:19 1663143919

什么是可維護性的代碼

  今天我們不聊性能優化,只是從后期維護代碼的角度談談如何優雅的書寫代碼

  · 為什么需要些可維護性高的代碼 ?

  在開發的過程中,迭代和維護是再正常不過的操作了,那么就必然要閱讀別人的代碼

  你有沒有遇到過一些尷尬的事情:

  1、看不懂別人的代碼,不知從何下手

  2、修改一個功能,得讀兩天代碼,改完發現 bug 最少的時候是修改以前

  3、只是修改了一行代碼,發現控制臺報錯好幾十個...

  如果代碼的可維護性高了,那么可以避免很多這些問題

  編寫可維護性高的代碼, 從我做起 ^_^

  · 什么是可維護性高的代碼 ?

  容易理解: 不需要求助源代碼書寫人員,就能看得懂

  符合常識: 代碼書寫的自然通透

  容易適配: 當數據發生變化的時候,不至于完全重寫

  容易擴展: 對于核心功能有可擴展性(適當利用策略模式)

  容易調試: 當出現問題的時候,能給出明確且詳細的錯誤提示,可以直接定位問題源

  從下面幾點做起:

  一、代碼可讀性

  · 想要好維護, 那么第一任務就是你寫的代碼要讓別人看得懂

  · 因為我們的代碼,當他不運行的時候,就是一個純文本

  · 想要讓別人看得懂你寫的一堆文本,那么就要從一切自定義的內容開始做起

  二、代碼縮進

  · 能區分是論文還是代碼的第一因素,也是最直觀的因素就是代碼縮進

  · 代碼沒有縮進,或者隨機縮進,那么和給你看一篇火星文論文沒有區別

  for (var i = 0; i < 100; i++) {

  if (true) {

  function fn() {

  for (var j = 0; j < 100; j++) {

  }

  }

  for (var j = 0; j < 100; j++) {

  }

  }

  }

  · 我們嚴格保持了代碼縮進以后, 雖然代碼意義不一定看得懂, 但是代碼結構我能看得懂了

  for (var i = 0; i < 100; i++) {

  if (true) {

  function fn() {

  for (var j = 0; j < 100; j++) {

  }

  }

  for (var j = 0; j < 100; j++) {

  }

  }

  }

  · 這個時候就可以嘗試下改一改了

  三、注釋

  在任何一個語言里面,都是有注釋的

  語言規范里定義注釋,不是為了讓你學了玩的,就是為了讓你對代碼進行一些標注的

  大型代碼塊,和大量變量堆積的地方,都要有清楚的注釋,用來表明這個代碼塊或者說這一堆變量是干什么用的,尤其是函數,盡量做到每一個函數的前面都有一個說明注釋。

  /*

  * fn 獲取范圍之間隨機整數的函數

  * @param {Number} a 范圍開始的數字

  * @param {Number} b 范圍結束的數字

  * @return {Number} 范圍內的隨機整數

  */

  function fn(a, b) { ... }

  o 每一個函數都應該有參數說明,是否有返回值,返回值是什么

  o 因為這些內容在函數定義中是不能直觀看到了,需要閱讀代碼才可以

  o 當你寫明了這些以后,閱讀性就大大提高了

  o 假設,你的函數塊里面涉及到很復雜的算法,最好也是在說明注釋里面標注出來

  當你對于一些瀏覽器問題做出的修復,你使用了一些黑科技

  o 那么你一定要把這些黑科技標注出來,避免別人修改你的代碼的時候

  o 覺得這些黑科技沒有用,給你刪掉了,導致你修改好的問題又重新出現了

  四、變量和函數命名

  變量的命名和函數的命名,是最能體現我們自定義的地方

  對于每一個變量和函數的命名,我們都盡量準確的給到一個語義,不管你是使用 大駝峰 還是 小駝峰,都要保證看到名字就能知道這個變量或者函數的意義

  從變量來說

  1、盡量使用名詞,而不是動詞

  比如:car / person / show / ...

  2、常量來說,要使用大寫字母來表示

  比如:TEST / BROWSER / ...

  3、區分全局和私有變量,函數內的私有變量我會以 _ 開頭

  比如: _this / ...

  從函數來說

  1、當函數返回布爾值的時候, 一般會以 is 開頭

  比如:isEnabled() / isSelected() / ...

  2、獲取類的函數一般以 get 開頭

  比如:getUserList() / getUserInfo() / ...

  3、設置類的一般使用 set 開頭

  比如:setName() / setUserInfo() / ...

  4、修改類的一般使用 update 開頭

  比如:updateName() / updatePrice() / ...

  4、程序處理類函數使用 handler 結尾

  比如:showEditHandler() / submitHandler() / ...

  5、盡可能的通過名字描述清楚函數的作用,不用擔心太長,因為后期打包工具會幫我們處理掉的

  比如: getUserInfoById() / delGoodsParamsById() / ...

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
開班信息
北京校區
  • 北京校區
  • 大連校區
  • 廣州校區
  • 成都校區
  • 杭州校區
  • 長沙校區
  • 合肥校區
  • 南京校區
  • 上海校區
  • 深圳校區
  • 武漢校區
  • 鄭州校區
  • 西安校區
  • 青島校區
  • 重慶校區
  • 太原校區
  • 沈陽校區
  • 南昌校區
  • 哈爾濱校區