Re: [討論] 要不要寫註解

作者: littlethe (東周流浪漢)   2019-10-26 14:12:46
※ 引述《sec5566 (sec)》之銘言:
: 聽過說法是
: 1.寫註解是浪費時間,命名命的好不需要寫
講到這個我就想浮出來,
寫程式寫了也快20年了吧?
我真的不知道什麼叫做命名命的好不需要寫註解,
會覺得自己命名很棒而不需要寫註解,
是很自大的想法,
更多是用來偷懶當不想寫註解的理由,
實在搞不懂為什麼有人連花個5分鐘寫註解都不願意,
結果他放假,別人看不懂他的code,只能call他時,就要搞一小時,
程式100行以上就該寫,至少寫一下這個程式在幹什麼的,
如果是兩個人以上一起寫,也要寫一下那一部份是誰寫的
還有另一種狀況,
就是註解就變成用來內鬥的工具,
故意批對方註解寫得少,寫得看不懂要重寫,
然後硬凹說對方程式沒寫完,
結果自己註解寫得更少或更爛,
或是整個組識走向極端搞得每行都寫
註解沒有說一定要寫多少,
以自己,和同事能看得懂為準,
所以難理解的地方就要多寫,
同事功力不強的話,就要多寫,
(不是說越強的人越不用寫,因為要"互相配合",
而弱者要花更多時間了解你的code,
花一大堆時間教弱者,不如乾脆多寫註解來讓每個弱者來都能自己搞懂)
這種事和吃飯一樣,飯一定要吃,不吃會餓死,
要吃是以能吃到不餓為原則,
每個人餓的標準也不同,食量也不同,
但不用搞到吃到很撐,吃太撐也會死掉,
偏偏很多人就很極端
: 2.寫註解方便維護,而且讀中文一定比讀英文快
: 自己是常常忽略註解,
: 不過有空還是會補上,
: 因為程式都只有我在弄,
: 但是當大型系統過一陣子在拿出來改時,
: 就知道不寫註解真的是省小時間花大時間,
: 像是一堆函式傳幾個變數能跑出什麼,
: 還是同樣提資料,這2個提出來差在哪?
: 不寫後面維護的人,就要很辛苦去看裡面,
: 尤其是交接工作,
: 大家會寫註解嗎?
:
作者: HateDebris (Monster)   2019-10-26 15:12:00
同意
作者: cokellen (cokellen)   2019-10-26 16:12:00
+1
作者: b85040312 (萬年newman)   2019-10-26 16:46:00
簽名檔 根本就是再次打臉XD
作者: lilicoco520 (哩哩)   2019-10-26 17:58:00
同意
作者: jass970991 (半糖綠假面超人)   2019-10-26 18:24:00
同意 不過會到落落長的code 在Code review時應該會被改正吧
作者: eva19452002 (^^)   2019-10-26 18:46:00
程式會到100行以上不是應該拆成數個function,然後function命得好,也大概知道程式在幹嘛
作者: v7q4 ((.)(.)乳劍雙修 -|=>)   2019-10-26 19:34:00
推內鬥工具!其實也算自保工具,寫下幾月幾日、誰說要這樣改、為什麼改等,或者是主管說改成這樣workaround後人一看就知道這個蠢設計是怎麼來的
作者: hankyan919 (比奇堡樂隊)   2019-10-26 23:24:00
命名好不用註解這種說法真的超級自以為
作者: onlyeric23 (MiGG)   2019-10-26 23:38:00
寫了落落長的爛扣再拼命加註解,還是先去把扣寫好吧
作者: viper9709 (阿達)   2019-10-27 00:18:00
推這篇~有同感
作者: popcool (我不懂)   2019-10-27 00:23:00
有的時候不是長不長的問題,而是multi-thread邏輯本來就比較抽象,命名是無法彌補這種不足的
作者: Ghamu (貓丸)   2019-10-27 03:25:00
理論上100行就該拆了 但不行的話還是”只好”寫註解 激進一點希望不寫註解也就是怕code爛到爆 註解一米籃 註解多通常也就帶表程式碼品質第低 但確實也有寫爛code自以為品質高都沒寫註解大家看不懂的XD
作者: littlethe (東周流浪漢)   2019-10-27 09:04:00
我說的100行是指總行數,把所有拆開的都要算...
作者: flysonics (飛音)   2019-10-29 13:07:00
coding完全不寫註解的 我祝他生兒子沒屁眼
作者: akito117 (宗益)   2019-10-29 18:35:00
註解真的很重要
作者: hakman (^____^)   2019-11-04 01:47:00
有的時候,弱者之所以是弱者,就是你註解寫再多,他都可以問 為什麼 or 說 看不懂....= =

Links booklink

Contact Us: admin [ a t ] ucptt.com