成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

代碼工作中的關鍵一環:結構化代碼該怎樣做?

開發 前端
代碼結構化的重要性不應被低估,從可讀性和可維護性的角度來看,代碼結構非常重要。

本文轉載自公眾號“讀芯術”(ID:AI_Discovery)。

作為代碼工作中至關重要的一環,代碼結構化是頗具難度的。要想寫出結構良好的代碼,編寫者需要具有正確的思維方式,對設計模式有自己的理解,還得擁有豐富經驗。通常情況下,要想培養上述能力,你要走的路可不少。

代碼結構化的重要性不應被低估,從可讀性和可維護性的角度來看,代碼結構非常重要。

[[332291]]

經驗1:提前設計

在著手編寫代碼之前,你最好考慮一下對將要構建的應用程序進行提前設計,統一建模圖表(UML diagrams)就是個不錯的選擇。在編寫代碼之前,如果提前有計劃在手,編寫者可以更加專注。通過提前思考代碼的結構,創建一些有用的UML圖表,許多明顯缺陷都可以提前避免。

更重要的是,制定計劃能讓我們認識到,在編寫代碼前還有許多需要編寫者思考的事情。UML圖還可以防止代碼編寫者“思想游離”,并且防止編寫者在代碼里添加自認為將來會派上用場的非必要功能。

不做計劃就急著開始,在最初你能跑得快一點兒,但跳過這個步驟最終會使你不得不對大量代碼進行重構,進而消耗大量時間和動力。記住,欲速則不達。

經驗2:類與函數準則

以下準則可以幫助你保持類與函數的可讀性及可維護性:

  • 使類與函數盡可能地小
  • 類與函數應遵循單一職責原則

保證類與函數盡可能小可以使代碼更容易理解。一般來說,較大的類和函數應被分解為較小的專門化類別。

遵循單一責任原則可以幫助你保持類和函數在較小的級別,即每個類、每個函數只做一件事。但注意,要在合理范圍內劃分得“小”,因為多數情況下,過多的細小分類反而要比幾個大類糟糕得多。把函數分成“獲取、處理及存儲數據”這樣的大型函數是行不通的。你必須將此函數分成三個較小的函數:分別用于提取、處理和數據存儲。

經驗3:使用設計模式

了解設計模式及其工作方式可以幫助你編寫出更加結構化、更具可讀性與可維護性的代碼。如果你清楚在哪些情況下可以使用哪種設計模式,就不必非得自己想解決辦法了,你只需遵循設計原則就可以保持代碼的整潔。

不過要注意,不要過度使用設計模式,這是使用這種方法時最常見的陷阱。盡管在特定情況下可以使用設計模式,但過度使用設計模式對編寫者來說有弊無利,它會使應用過度機械化,其他開發人員會很難理解代碼。

經驗4:代碼規范

代碼結構化在很大程度上與代碼規范有關。對于每個項目來說,代碼規范都是必要,如果沒有代碼規范,代碼變得團團亂以至難以閱讀是遲早的事。

我們可以列出代碼規范清單,記錄下聲明變量的方法、命名規范等。你可以無限向列表中添加規則,規則的數量也是可以變化的,只列出對你和對你的團隊有幫助的規則便可。團隊成員也可以隨時向規范列表中添加或移除規則。

制定好規范清單后,就堅持照做吧!

經驗5:編寫單元測試

編寫單元測試能產生不錯的預期外的效果,它讓你必須對代碼進行結構化處理。為了能夠編寫出單元測試,至少要保證代碼的結構是正確的。

也許你以前聽說過或者編寫過不可測試代碼,如果有哪段代碼讓你不知道該如何編寫單元測試的話,可能是因為這段代碼功能過多,或者寫得太差。

不管是上述兩種情況的哪一種,只有一個原因會導致代碼無法測試,那就是糟糕的結構。遇到不可測試的代碼時,你會發現自己大部分時間都用在了重構上。單元測試便可以作為一種限制,使你必須將代碼進行結構化處理。

[[332292]]

圖源:unsplash

實現代碼結構化有好些方式。在你鍵入第一個代碼字母之前就開始了,包括提前考慮應用程序的設計、創建幫助編寫者消除明顯缺陷的UML圖等。

只要你準備編寫代碼,就應該確保擁有一份可以遵守的代碼規范表。學習使用設計模式也可以進一步幫你實現這個目標。同時,你還需保持類與函數單位較小,并且讓這些類與函數只做一件事。最后,要養成編寫單元測試的習慣,不這樣做最終只會得到一堆不可測試的代碼。

要更認真地對待代碼結構化了!

 

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2020-12-24 16:58:30

數字化轉型氣候變化數字化

2021-06-27 06:25:14

代碼優化技巧Java

2014-12-17 10:35:17

大數據分析 HadooApacheSqoop

2011-10-18 10:19:37

2024-03-05 15:36:47

2019-05-30 22:37:12

AI數字化人工智能

2023-12-21 11:44:16

緩存系統設計系統

2021-12-12 08:37:18

結構化數據非結構化數據數據

2013-07-22 08:58:24

網絡設施管理SLA服務等級協議

2021-03-31 08:42:44

IT安全網絡安全網絡攻擊

2024-05-27 00:32:45

2022-07-06 11:38:06

工業物聯網工業4.0制造商

2018-04-03 14:00:03

結構化數據非結構化數據數據庫

2012-11-14 10:20:53

2021-11-14 20:29:56

web結構化數據

2023-03-29 18:41:27

綜合布線

2018-08-21 22:03:11

2023-05-11 13:39:39

EDA數據分析

2010-09-09 16:43:46

信息化建設中銳集團263企業郵箱

2017-05-16 10:49:20

大數據數據流程圖數據結構
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人福利在线观看 | 国产精品成人一区二区三区夜夜夜 | 午夜理伦三级理论三级在线观看 | 久久久久国色av免费观看性色 | 精品国产伦一区二区三区观看说明 | 91欧美激情一区二区三区成人 | 亚洲毛片| 一区二区小视频 | 精品久久久久久久人人人人传媒 | 国产视频一区二区 | 在线观看视频一区 | 在线日韩视频 | 精品久久国产 | 亚洲欧美日韩网站 | 夜夜久久 | 欧美视频二区 | 国产在线观看免费 | 超碰激情| 男人的天堂久久 | 欧美一区二区在线观看视频 | 三级成人在线 | 欧美精 | 亚洲精品中文字幕 | 一区二区三区四区国产精品 | 日本一二区视频 | 成人免费在线 | 在线免费观看黄色av | 九九久久这里只有精品 | 日韩精品一区二区三区在线观看 | 欧美精品免费观看二区 | 精品不卡 | 欧美日本亚洲 | 盗摄精品av一区二区三区 | 久久国产精品视频观看 | 99精品电影 | 国产精品久久性 | 久草青青 | 婷婷色国产偷v国产偷v小说 | 日韩免费一区二区 | 97精品超碰一区二区三区 | 午夜在线观看免费 |