国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

寫代碼不寫注釋,難道是我天生不愛寫嗎?

開發 前端
一些開放API就類似于這種注釋,我們經常抱怨某大廠的開放平臺 API 文檔寫的那叫一個垃圾,根據說明文檔來會踩很多坑。同理,如果一個復雜的方法沒有注釋,或者注釋很垃圾,會給使用者帶來很多麻煩。

只要一討論到代碼需不需要注釋,就會有人說:“只要爛代碼還需要注釋,好的代碼都是自解釋的”。

但是,那么多優秀的開源項目總是帶有非常詳細的注釋,難道是爛代碼不成。反正不管好代碼還是爛代碼,就算是沒有注釋的好代碼,讀起來也比有注釋完備的爛代碼難讀、難懂。

再者說,什么是好代碼,這個標準很難評。

沒有bug的代碼就是好代碼嗎?性能優越的就是好代碼嗎?還是說簡單易懂的就是好代碼呢?

圖片圖片

不知道你有沒有碰到過下面這幾種場景:

(一) 同事問你,或者你問同事:“你這代碼怎么沒注釋?”有多少人會回答是因為我代碼寫的好,不需要注釋的。就算真有人這么說,得到的回復也是「辣雞,什么都不是」。

(二) 某個項目或者某塊功能突然要補上設計文檔,而功能又不是你做的。你可能會說:得看看這部分代碼有沒有注釋,沒有注釋的話,可能得多需要一些時間。然后寫的過程,如果真的沒有注釋,大概率也會在心里嘀咕『代碼寫這么爛,還不加注釋』

(三) 你接手了一個新項目,要改一些功能,如果碰巧這些功能有注釋,你會謝天謝地,然后謝謝當初寫代碼加注釋的家伙。

無論是我們看自己之前的代碼,還是接手別人的代碼,有注釋是百利而無一害的。

“Redis 之父” antirez 將注釋分為 9 種類型,其中前6種是提倡的,后三種是最好要避免的。

1、函數注釋

目的是讓讀者無需先讀代碼,可將某些代碼視為黑盒,通常位于函數定義頂部或其他功能性代碼塊處,類似內聯 API 文檔,可確保文檔與代碼同步更新、提高作者修改文檔的概率、方便讀者查找文檔。

很多時候我們只是想使用某個方法,而其內部可能很復雜,比如某個非常專業的算法,可能讀半天都看不懂, 這種情況,如果有對方法的說明,我們只要根據說明來用就可以了。

一些開放API就類似于這種注釋,我們經常抱怨某大廠的開放平臺 API 文檔寫的那叫一個垃圾,根據說明文檔來會踩很多坑。同理,如果一個復雜的方法沒有注釋,或者注釋很垃圾,會給使用者帶來很多麻煩。

2、設計注釋

常位于文件開頭,說明代碼使用特定算法等的方式和原因,提供更高層次的概述,有助于讀者理解代碼,且能讓讀者了解設計過程,增強對代碼的信任。

大的開源項目中幾乎每個文件都有這種注釋,用來解釋這個文件是干什么用的。

3、Why 注釋

解釋代碼為什么要做某事,即使代碼行為很清晰,這種注釋可能是思考系統改進的機會。

比如代碼中做了某些特別的操作或動作,如果純靠讀代碼,不知道上下文,比如涉及到某個業務,那會讓使用者一頭霧水,知其然不知其所以然。

4、Teacher 注釋

教學代碼,對讀者有很大價值,能增加可閱讀代碼的程序員數量。

很多技術文章或者源碼解讀中都有這樣的注釋,比如寫 HasMap原理的文章,其中涉及到存儲結構、哈希沖突、擴容這些原理時,一定是對著代碼將會更清楚,所以多采用在方法中逐行加注釋的方法來說明,讀者一行注釋一行代碼看下來,可以更加輕松的搞清楚內在邏輯。

5、Checklist 注釋

由于語言限制等原因,代碼中某些概念或接口無法集中在一處時,這種注釋會提醒在修改代碼的某些部分時要記得修改其他部分,或者警告特定修改的操作方式,在 Linux 內核中很常見。

這很像是對一個事務的解釋,一個事務會涉及到多個階段,但是每個階段要執行的東西可能會分散到各處,當你讀到其中的某個階段代碼時,如果有 Checklist 告知你整個事務鏈條,那你對這個事務會理解的更加清晰。

6、Guide 注釋

輔助讀者閱讀代碼,降低認知負擔,明確劃分代碼、引入即將閱讀的內容,雖主觀但對提高代碼可讀性有幫助,還能使新增代碼更可能插入到合適位置。

這更像是一個項目的 README 文件,好的開源項目一定有一個好的 README 文檔,告訴使用者需要什么環境、要安裝什么依賴包、如何配置參數、如何啟動等等。

7、瑣碎注釋

一些無用且瑣碎的評論,比如一行非常簡單的代碼,確實是那種一眼就能看懂的代碼,還非要加上注釋。

比如下面這個自增語句,非要加個注釋,莫名其妙的,有這功夫,還是把主要邏輯的注釋寫好吧。

count++;	// 自增

8、債務注釋

即代碼中的技術債務聲明,如 TODO、FIXME 等,雖不太好但有時可避免遺忘問題,應定期檢查并處理。

有時候為了快速的實現功能,可能有些邏輯會有臨時性的快速方案,然后在對應的位置加上 TODO,之后可能臨時方案就變成最終方案了。

9、Backup 注釋

開發者對舊版本代碼塊或函數進行注釋,因對新代碼不放心,但這是不合適的,源代碼不是用來做備份的。

說實話,我有時也會這么干,寫新方法時,先把把舊方法注釋掉,萬一有問題的話,直接注釋掉,省的代碼回滾了。

在業務頻繁變更的時候,這種方法確實也沒什么問題,只要想著在穩定之后把注釋的無用方法刪掉就好了。

同樣是接手一份代碼,如果是沒有注釋的,我們在接手的時候就難免會先產生反感、畏難情緒,除非注釋是亂寫的。

我還真見過方法注釋和方法邏輯驢唇不對馬嘴的,嚴重懷疑是前輩不想干了,在代碼里下毒。你要是真按照他注釋的來,那就廢了。

最起碼就我而言,我覺得加注釋的代碼比不加注釋的代碼要更友好。加上現在各種AI代碼助手,更應該寫注釋了,比如你用 Cursor 寫代碼,你先寫注釋,然后讓 Cursor 給你寫代碼就好了,所以說以后寫注釋可能是一項必備技能,然后是 Review AI 寫的代碼,最后才是寫代碼的能力了。


責任編輯:武曉燕 來源: 古時的風箏
相關推薦

2018-12-19 17:20:17

2018-02-25 11:00:34

代碼開發程序員

2013-05-02 09:36:44

代碼項目

2018-09-30 09:36:58

CTO代碼程序員

2017-12-19 15:20:47

代碼應用架構

2020-10-10 09:09:21

CTOCRUD設計

2018-04-17 11:47:06

if代碼參數

2015-07-17 10:02:48

寫代碼

2019-07-10 08:56:58

代碼互聯網網絡

2022-03-23 08:01:04

Python語言代碼

2012-07-11 11:05:16

編程

2014-12-22 09:54:52

代碼

2012-07-03 09:59:03

程序員

2021-12-17 15:05:55

CSSwhenelse

2020-12-07 08:43:55

代碼軟件開發

2015-01-28 00:34:00

代碼

2025-07-29 01:20:00

失效InnoDB存儲

2013-08-29 09:42:26

代碼如何寫代碼教寫代碼

2021-06-07 10:00:56

yml文件開發

2023-11-07 10:57:26

點贊
收藏

51CTO技術棧公眾號

二区中文字幕| 亚洲自拍av在线| 国产精品中文字幕久久久| 最新精品视频在线| 香蕉综合视频| 欧美精品一区二区三区蜜桃视频| 亚洲黄色网址在线观看| 成人线上播放| 欧美美女视频在线观看| 亲子乱一区二区三区电影| 久久久久资源| 日韩a级作爱片一二三区免费观看| 激情欧美日韩| 97久久精品国产| 成人综合日日夜夜| 日韩精品欧美国产精品忘忧草| 北岛玲一区二区三区| 亚洲成年人网站在线观看| 制服丝袜影音先锋| 亚洲色图制服丝袜| 依人在线免费视频| 欧美国产一区二区| 国产精品久久久久9999小说| 久久蜜桃一区二区| 韩国日本在线视频| 久久精品视频一区二区三区| 午夜精品久久久内射近拍高清| 国产精品国产a级| 日韩av在线播放不卡| 国产九色精品成人porny| 亚洲自拍偷拍一区二区三区| 麻豆精品视频在线| 亚洲欧洲精品一区| 岛国一区二区在线观看| 免费cad大片在线观看| 国产一区91精品张津瑜| wwwwww欧美| 久久精品这里都是精品| 成人拍拍拍免费视频网站| 国产精品久久久久影院| 男人本色网站| 在线观看免费成人| 污视频免费在线观看| 欧美超级乱淫片喷水| 簧片在线观看| 一区二区成人在线| 五月婷婷导航| 午夜精品久久久久| yiren22综合网成人| 欧美一区午夜视频在线观看| 欧美aa在线| 色综合久久天天综线观看| 不卡中文一二三区| 亚洲xxxx视频| 日本强好片久久久久久aaa| 黄网站欧美内射| 久久久亚洲午夜电影| 天堂av电影在线观看| 第一福利永久视频精品| 不卡在线视频| 日韩av一区二区在线| 日韩成人一区| 国模吧一区二区| 99热国内精品| 日韩成人av网站| 美女脱光内衣内裤视频久久网站 | 亚洲一区二区不卡免费| 福利成人在线观看| 亚洲成年网站在线观看| 欧洲精品99毛片免费高清观看| 91色精品视频在线| 久久av中文字幕片| 午夜影院观看视频免费| 日韩精品极品在线观看| 香蕉久久夜色精品国产使用方法| 97精品一区二区视频在线观看| 日韩在线麻豆| 91在线网站视频| 欧美淫片网站| 相泽南亚洲一区二区在线播放| 99久久久久久99| 国产一级不卡毛片| 亚洲高清久久久| 在线激情网站| 精品亚洲va在线va天堂资源站| 国产精品久久久久久久久久辛辛| 日韩美女激情视频| 亚洲福利国产| 婷婷精品国产一区二区三区日韩| www.欧美日韩| av在线不卡播放| 日韩欧美成人一区二区| jvid一区二区三区| 国产精品视频内| 国产精品日韩久久久| 国产黄色激情视频| 亚洲精品欧美激情| 免费在线观看av| 欧美老少配视频| 欧美在线三区| 婷婷视频在线播放| 亚洲天堂精品视频| 色呦呦在线资源| 久久久久久久久久亚洲| 99精品免费| 久久久久狠狠高潮亚洲精品| 欧美性少妇18aaaa视频| 日韩黄色三级| 91九色蝌蚪成人| 91麻豆高清视频| 欧美激情午夜| 久久久久女教师免费一区| 久久久久看片| 美女永久在线网站| 中文字幕欧美日韩| 在线综合视频| 日本免费一二区| 亚洲天堂2020| 午夜久久tv| 精产国产伦理一二三区| 精品亚洲夜色av98在线观看| 中文字幕一区二区三三| 美女张开让男人捅| 中日韩美女免费视频网站在线观看| 欧美大黑bbbbbbbbb在线| 人妻少妇被粗大爽9797pw| 日韩视频在线永久播放| 亚洲人成亚洲精品| 91视频免费版污| 亚洲精品中文字| 男人的天堂亚洲在线| 天堂在线中文字幕| 欧美黄色片免费观看| 国产福利视频一区二区三区| 亚洲欧美视频一区二区| 国外成人免费在线播放| 成人免费av网站| 2001个疯子在线观看| 韩国精品一区二区三区六区色诱| 亚洲影视资源网| 欧美黄色影院| 国产日产欧美视频| 中文字幕亚洲国产| 国产成人午夜精品5599| 中文在线天堂库| 国产精品视频一区二区高潮| 国产精品嫩草影院com| 国产精品1区| 大荫蒂性生交片| 亚洲三级黄色在线观看| 国产乱码一区二区三区| 亚洲精品日产| 中文字幕一区二区三区最新| 亚洲人精品午夜在线观看| 国产精品一区在线观看你懂的| 国模套图日韩精品一区二区| 亚洲在线色站| 精品五月天久久| 国产精品一级二级三级| 久久大胆人体| 亚洲一区二区三区免费观看| 日韩免费性生活视频播放| 国产日韩欧美在线播放不卡| 二区三区在线观看| 亚洲欧美日本国产有色| 精品国内二区三区| 国产成人亚洲综合a∨猫咪| 欧美日韩卡一| free亚洲| 成人写真视频福利网| 欧美剧情片在线观看| 国产精品亚洲综合色区韩国| 一本大道色婷婷在线| 色七七在线观看| 国产精品久久久av久久久| 在线观看视频一区二区欧美日韩| 偷拍欧美精品| 免费看男女www网站入口在线 | 激情欧美丁香| a级在线观看| 久草视频这里只有精品| 欧美福利视频网站| 欧美视频在线免费看| 久久久久国产精品午夜一区| 久久sese| 三级黄色网址| 国产精品播放| 在线观看日韩欧美| 一区二区三区自拍| 亚洲一级在线| 视频91a欧美| 99re6热在线精品视频播放| 国产一区二区三区四区hd| 国产视频精品免费播放| 99精品偷自拍| 国产伊人精品| 亚洲人吸女人奶水| 亚洲精品社区| 欧美二三四区| 国产无遮挡在线视频免费观看|