[討論] 要不要寫註解

看板Soft_Job作者 (sec)時間4年前 (2019/10/25 21:12), 編輯推噓28(381042)
留言90則, 66人參與, 4年前最新討論串1/9 (看更多)
聽過說法是 1.寫註解是浪費時間,命名命的好不需要寫 2.寫註解方便維護,而且讀中文一定比讀英文快 自己是常常忽略註解, 不過有空還是會補上, 因為程式都只有我在弄, 但是當大型系統過一陣子在拿出來改時, 就知道不寫註解真的是省小時間花大時間, 像是一堆函式傳幾個變數能跑出什麼, 還是同樣提資料,這2個提出來差在哪? 不寫後面維護的人,就要很辛苦去看裡面, 尤其是交接工作, 大家會寫註解嗎? ----- Sent from JPTT on my Sony H4331. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.136.158.205 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1572009158.A.286.html

10/25 21:16, 4年前 , 1F
寫必要且有實質功能的註解
10/25 21:16, 1F

10/25 21:20, 4年前 , 2F
可以爬文看看 之前有很多討論註解的
10/25 21:20, 2F

10/25 21:21, 4年前 , 3F
去年好像問同樣問題的也是你
10/25 21:21, 3F

10/25 21:25, 4年前 , 4F
命名和註解互助的,可以兩個都有,例如:
10/25 21:25, 4F

10/25 21:25, 4年前 , 5F
// This member does not need to be most updated
10/25 21:25, 5F

10/25 21:25, 4年前 , 6F
int ref_count;
10/25 21:25, 6F

10/25 21:25, 4年前 , 7F
就會比單純靠命名還要好:
10/25 21:25, 7F

10/25 21:25, 4年前 , 8F
int ref_count_cache;
10/25 21:25, 8F

10/25 21:27, 4年前 , 9F
不寫註解受害的只會是一年後的你
10/25 21:27, 9F

10/25 21:29, 4年前 , 10F
有些語言的 IDE 只要把滑鼠放在變數、函數、結構上面就可
10/25 21:29, 10F

10/25 21:29, 4年前 , 11F
以看到它的註解,這種保證比純靠命名的好多了
10/25 21:29, 11F

10/25 21:31, 4年前 , 12F
推一樓
10/25 21:31, 12F

10/25 21:51, 4年前 , 13F
認為命名好不需要寫的,大概都只寫小專案吧
10/25 21:51, 13F

10/25 21:51, 4年前 , 14F
大概沒看過給你開 debug mode 還不知道在做什麼的 code
10/25 21:51, 14F

10/25 22:02, 4年前 , 15F
我是不寫註解派,只有在一些work around會寫,希望
10/25 22:02, 15F

10/25 22:02, 4年前 , 16F
將來可以修正
10/25 22:02, 16F

10/25 22:05, 4年前 , 17F
寫啊 有些商業邏輯你就算能用英文寫出來 別人也不一
10/25 22:05, 17F

10/25 22:05, 4年前 , 18F
定看的懂 有些工程師英文爛到炸 你還用英文寫
10/25 22:05, 18F

10/25 22:10, 4年前 , 19F
我們team規定要加英文annotation,用中文有時候build
10/25 22:10, 19F

10/25 22:10, 4年前 , 20F
code會有問題!
10/25 22:10, 20F

10/25 22:17, 4年前 , 21F
當你會問這問題就是要寫 為了你好也為了後人好
10/25 22:17, 21F

10/25 22:23, 4年前 , 22F
上份工作看到String莫名其妙變成Function的神奇寫法
10/25 22:23, 22F

10/25 22:24, 4年前 , 23F
這種特殊用法沒有寫註解後面維護的人很痛苦。
10/25 22:24, 23F

10/25 22:27, 4年前 , 24F
只有各種function的註解 裡面除非是核心邏輯 不然不寫
10/25 22:27, 24F

10/25 22:28, 4年前 , 25F
如果是strong type的程式語言,命名原則和詞彙有定義好
10/25 22:28, 25F

10/25 22:28, 4年前 , 26F
搭配固定的design pattern,確實可以不太需要註解
10/25 22:28, 26F

10/25 22:29, 4年前 , 27F
不過在現實生活中我還沒看過這種專案
10/25 22:29, 27F

10/25 22:35, 4年前 , 28F
核心功能會吧 get或set那種靠命名就可以很直觀了
10/25 22:35, 28F

10/25 22:40, 4年前 , 29F
寫註解是為了自己 傻傻的
10/25 22:40, 29F

10/25 22:45, 4年前 , 30F
有時候註解會給予多餘的擾亂
10/25 22:45, 30F

10/25 22:45, 4年前 , 31F
TODO FIXME
10/25 22:45, 31F

10/25 23:13, 4年前 , 32F
先定義什麼叫命名好
10/25 23:13, 32F

10/25 23:29, 4年前 , 33F
推二樓
10/25 23:29, 33F

10/25 23:33, 4年前 , 34F
檔 不能沒有註解
10/25 23:33, 34F

10/25 23:43, 4年前 , 35F
註解能拯救3個月後的我……
10/25 23:43, 35F

10/25 23:44, 4年前 , 36F
我可以想像 2 的人講話捲舌的樣子 XD
10/25 23:44, 36F

10/25 23:47, 4年前 , 37F
看你想做多久(O
10/25 23:47, 37F

10/25 23:50, 4年前 , 38F
這問題本身就是個陷阱,註解不是0或1的選擇
10/25 23:50, 38F

10/25 23:50, 4年前 , 39F
不會寫註解說我這段在做什麼,但會寫說我為什麼會這
10/25 23:50, 39F

10/25 23:53, 4年前 , 40F
不寫只是找自己麻煩而已
10/25 23:53, 40F

10/25 23:56, 4年前 , 41F
通常不是英文的問題 而是可以避免深入追程式碼
10/25 23:56, 41F

10/25 23:56, 4年前 , 42F
不寫註解=拉屎給別人吞還不擦屁股 我是這麼覺得
10/25 23:56, 42F

10/26 00:01, 4年前 , 43F
寫了的幫助絕對比你想像的多
10/26 00:01, 43F

10/26 00:34, 4年前 , 44F
抱歉,我會寫,因為以前的公司class function都要寫註解,
10/26 00:34, 44F

10/26 00:34, 4年前 , 45F
不寫無法上版,接著我就習慣了
10/26 00:34, 45F

10/26 00:55, 4年前 , 46F
10/26 00:55, 46F

10/26 01:08, 4年前 , 47F
我都註解在自己的筆記本裡 科科
10/26 01:08, 47F

10/26 02:09, 4年前 , 48F
註解寫清楚 不要廢話 也不要大量註解程式碼 用版控取代
10/26 02:09, 48F

10/26 02:23, 4年前 , 49F
當然要寫, 命名命的再好也只能告訴你 how, 而不是 why
10/26 02:23, 49F

10/26 02:24, 4年前 , 50F
註解的目的不是解釋程式碼做什麼, 而是為什麼選擇這樣做
10/26 02:24, 50F

10/26 03:29, 4年前 , 51F
我都寫spec不寫註解
10/26 03:29, 51F

10/26 03:35, 4年前 , 52F
寫Unit test不要寫註解
10/26 03:35, 52F

10/26 04:07, 4年前 , 53F
/註解
10/26 04:07, 53F

10/26 06:56, 4年前 , 54F
搜尋 註解 討論到爛了
10/26 06:56, 54F

10/26 07:12, 4年前 , 55F
var名稱和func名稱命的好 然後內聚力強 不太需要註解
10/26 07:12, 55F

10/26 07:44, 4年前 , 56F
我是不寫註解
10/26 07:44, 56F

10/26 08:15, 4年前 , 57F
一定寫註解,因為所有人的能力不平均
10/26 08:15, 57F

10/26 08:45, 4年前 , 58F
人的記憶力有限...
10/26 08:45, 58F

10/26 08:55, 4年前 , 59F
完美的情況不需要 但完美的情況不存在
10/26 08:55, 59F

10/26 09:20, 4年前 , 60F
看情況寫,如果不是必要的就不寫,我很多都只在function
10/26 09:20, 60F

10/26 09:20, 4年前 , 61F
或是class下面簡略寫這個class是幹嘛的,這個function
10/26 09:20, 61F

10/26 09:20, 4年前 , 62F
是幹嘛的,輸入是甚麼輸出是甚麼
10/26 09:20, 62F

10/26 10:00, 4年前 , 63F
Clean Code 這本書裡面註解都能自成一章了
10/26 10:00, 63F

10/26 10:01, 4年前 , 64F
要不要寫註解不是簡單幾句話可以決定的
10/26 10:01, 64F

10/26 10:01, 4年前 , 65F

10/26 11:29, 4年前 , 66F
至少會寫function,內容再怎麼走鐘至少方向不變,如果
10/26 11:29, 66F

10/26 11:29, 4年前 , 67F
方向變了那怎麼不另外寫一隻function
10/26 11:29, 67F

10/26 11:33, 4年前 , 68F
你就想註解寫得好是一門學問
10/26 11:33, 68F

10/26 12:10, 4年前 , 69F
寫註解是為了交流,溝通「意圖」。如果是 i++ 註解
10/26 12:10, 69F

10/26 12:10, 4年前 , 70F
寫 i 會加1 ,這種不用寫,要寫「為什麼是加1」
10/26 12:10, 70F

10/26 12:12, 4年前 , 71F
Clean code有教,去多看兩遍
10/26 12:12, 71F

10/26 12:15, 4年前 , 72F
演算法的 function 開頭寫個數學公式註解也還好吧
10/26 12:15, 72F

10/26 12:53, 4年前 , 73F
我會寫 方便過很久後回頭看
10/26 12:53, 73F

10/26 13:56, 4年前 , 74F
光一個變數命名就可以寫成一本書
10/26 13:56, 74F

10/26 14:48, 4年前 , 75F
註解彌補命名無法顧到的地方 為什麼這裡要做這個 因為什麼
10/26 14:48, 75F

10/26 14:48, 4年前 , 76F
限制
10/26 14:48, 76F

10/26 15:21, 4年前 , 77F
必要才寫,失修的註解比不寫還可怕
10/26 15:21, 77F

10/26 20:48, 4年前 , 78F
感覺來了就寫啊
10/26 20:48, 78F

10/26 22:16, 4年前 , 79F
程式寫到讓人一眼就看懂就不用寫拉
10/26 22:16, 79F

10/26 22:36, 4年前 , 80F
有註解是寫中文的喔?
10/26 22:36, 80F

10/27 00:22, 4年前 , 81F
以前工作有看過每一行code都會寫中文註解的leader
10/27 00:22, 81F

10/27 00:38, 4年前 , 82F
一開始會寫 後來不寫 後來寫一點XD
10/27 00:38, 82F

10/27 14:43, 4年前 , 83F
要問幾次
10/27 14:43, 83F

10/27 22:53, 4年前 , 84F
我的註解用中文寫好拿去google翻成阿拉伯文 給你參考
10/27 22:53, 84F

10/28 03:13, 4年前 , 85F
你之前在本板發問問過類似的問題 洗文章?
10/28 03:13, 85F

10/28 09:30, 4年前 , 86F
原來是洗文
10/28 09:30, 86F

10/28 09:37, 4年前 , 87F
他就單純想洗文
10/28 09:37, 87F

10/28 13:21, 4年前 , 88F
10/28 13:21, 88F

10/28 16:56, 4年前 , 89F
他只要被噓太多就會自己把文章刪掉
10/28 16:56, 89F

10/29 16:24, 4年前 , 90F
特別複雜的地方要註解, 尤其封包內容.
10/29 16:24, 90F
文章代碼(AID): #1TilJ6A6 (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1TilJ6A6 (Soft_Job)