網站開發代碼的可讀性原則

2021-05-12    分類: 網站建設

作為一名IT工程師,想要擁有良好的代碼素養,首先要讓自己的代碼可維護,不給別人的維護帶來巨大的成本和工作量,其次盡量保證代碼的美觀可讀,整潔的代碼人見人愛,如同閱讀一本好書,令人心情愉悅。對于可讀性,代碼應遵循以下三條原則:
    1.可讀性基本定理
    可讀性基本定理——“代碼的寫法應當使別人理解它所需的時間最小化”。
    代碼風格和原則不是一概而論的,我們經常需要對一些編碼原則和方案進行取舍,例如對于三元表達式的取舍,當我們覺得兩種方案都占理時,那么唯一的評判標準就是可讀性基本定理,無論寫法多么的高超炫技,最好的代碼依舊是讓人第一時間能夠理解的代碼。
    2. 有意義的名稱
    代碼的可讀性絕大部分依賴于變量和函數的命名,一個好的名稱能夠一針見血地幫助維護者理解邏輯,如同寫文章中的“文筆”,文筆優異者總能將故事娓娓道來,引人入勝。
    不過要起好名稱還是很難的,尤其是我們不是以英語為母語,更是添加了一層障礙,有些人認為糾結在名稱上會導致效率變低,開發第一時間應該完成需求的開發。這樣說并沒有錯,我們在開發過程中應當專注于功能邏輯,但不要完全忽視命名,所謂“文筆”是需要鍛煉的,思考的越多,命名就會愈加的水到渠成,到后來也就不太會影響工作效率了。
    在這里推薦鮑勃大叔提到的童子軍規,每一次看自己的代碼,都進行一次重構,最簡單的重構便是改名,也許一開始覺得命名還比較貼合,但邏輯越寫越不符合初始的命名了,當回顧代碼時,我們可以順手對變量和方法進行重新命名,現代編輯工具也很容易做到這一點。
   文不對題的命名是最可怕的,如:
網站開發代碼
       這個函數被命名為check*開頭的,本意是檢測課程時間是否沖突,但內部邏輯卻包含了支付整個流程,此時對于調用者來說,如果不去細看內部邏輯,很有可能就會錯誤的認為check函數沒有副作用導致事故發生。
3.適當的注釋維護
    注釋是一個比較有爭議性的話題,有人認為可讀的函數變量就很清晰,不需要額外的注釋,且注釋有不可維護性,如:
網站開發代碼
      實際上,這個字段的含義早已發生了改變,但由于修改者只修改了邏輯,并沒有注意到這一行注釋,導致這個老注釋提供了錯誤信息,此時的注釋不僅變成了無效注釋,甚至會導致維護人的誤解,造成bug的產生。
    對于這種情況,要么維護注釋,要么在注釋里面注明接口文檔,維護文檔,在其他情況下,適當的注釋是有必要的,對于復雜的邏輯,如果有一個簡練的注釋,對于代碼可讀性的幫助是極大的,但有些不必要的注釋可以去掉,注釋的取舍關鍵在于可讀性基本定理,如:
網站開發代碼
      對于上述邏輯來說,雖然通過變量可以大致猜出功能含義,但一眼看上去就能清晰掌握邏輯結構,歸功于注釋的簡明與清晰。

網站標題:網站開發代碼的可讀性原則
當前路徑:http://m.kartarina.com/news/113378.html

成都網站建設公司_創新互聯,為您提供靜態網站外貿建站品牌網站設計網站設計定制網站商城網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

外貿網站制作
主站蜘蛛池模板: 亚洲人成人无码网www国产| 人妻丰满av无码中文字幕| 国产精品VA在线观看无码不卡| 亚洲国产精品无码久久久秋霞2| 亚洲国产精品成人精品无码区| 亚洲国产日产无码精品| 精品亚洲av无码一区二区柚蜜| 国产亚洲大尺度无码无码专线| av大片在线无码免费| a级毛片无码免费真人久久| 久久久久亚洲AV无码专区首JN | 国产在线无码精品无码| 中文字幕无码av激情不卡久久| 精品一区二区三区无码免费视频 | 人妻系列AV无码专区| 99无码人妻一区二区三区免费| 中文无码喷潮在线播放| 精品深夜AV无码一区二区老年 | 亚洲AV无码久久精品狠狠爱浪潮| 国产做无码视频在线观看| 久久午夜无码鲁丝片| 中文人妻无码一区二区三区| 人妻无码精品久久亚瑟影视| 人妻aⅴ无码一区二区三区| 国产亚洲精品无码专区| 日韩久久无码免费毛片软件| 亚洲AV成人无码久久WWW| 精品久久无码中文字幕| 国产50部艳色禁片无码| 亚洲成a人在线看天堂无码| 少妇中文无码高清| 免费人妻av无码专区| 日韩aⅴ人妻无码一区二区| 特级小箩利无码毛片| 亚洲天然素人无码专区| 中文字幕日产无码| 中文字幕无码成人免费视频| 亚洲a∨无码一区二区| 无码高潮爽到爆的喷水视频app| 免费无码又爽又刺激高潮 | 国产成人无码免费视频97|