作者supermmi (陈敏宪)
看板Soft_Job
标题Re: [请益] 写注解到底是不是好习惯
时间Sat Dec 29 12:15:41 2018
我觉得要定义注解内容是什麽
如果只是描述程式语法架构本身的东西,不是那麽重要
但是有些注解是说明为什麽要写这行
原因与程式码本身语法无关
比如注解:这行可暂时避免每一百次会出现一次硬体当机的问题…
又或是:这行是为了满足a厂商的规格…
还有,人都有失忆症,你的程式码很复杂时,注解可以让你过了一年再review时大幅缩短时
间
然後如果是多人一起开发的大型软体需要整合,都不写注解,那就不是整合是整人了,当然
可以写一份api说明文件取代注解…
以前有听过国外大型软体公司, 要求工程师写的程式码注解字数一定要占档案10%以上,还
用工具去自动检查有没10%…
※ 引述 《sec5566 (sec)》 之铭言:
: 标题: [请益] 写注解到底是不是好习惯
: 时间: Thu Dec 27 13:48:31 2018
:
:
: 以前上课跟书本都提到写注解,
: 但是我看资深同事还有接手的程式码,
: 都没有注解,只有我在写,
: 还被主管念过写注解没必要,
: 命名好就够了,
: 是我观念落伍了吗?
:
: -----
: Sent from JPTT on my Sony H4331.
:
: --
:
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 223.140.72.67
: ※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1545889713.A.2B5.html
: ※ 编辑: sec5566 (223.140.72.67), 12/27/2018 13:48:43
: 推 t64141: 想不写注解有很多前提,而这个前提不容易达到 12/27 13:54
: 推 oneheat: 好的代码很少在写注解,或者说,code都写不好了,为什麽 12/27 13:55
: → oneheat: 会觉得注解会写的好呢? 12/27 13:55
: → BeardSmallGG: 有写注解让其他人比较省时吧 五六行的程式 一句注解 12/27 14:02
: → BeardSmallGG: 就知道在干嘛了 有时候哪有时间在那边一行一行看 12/27 14:02
: 推 steve1012: 需要很多注解常常不是件好事 12/27 14:07
: 推 deray: 写什麽注解?贴一段来看一下为什麽需要注解 12/27 14:11
: 推 yyc1217: 觉得自己写的很好就不写注解 这种人很有问题 12/27 14:12
: → yyc1217: 觉得自己写得不好而写一堆注解 这种人也很有问题 12/27 14:13
: → iiiii: 写SAMPLE CODE一样道理,曲高和寡,不是人人懂你的pattern 12/27 14:14
: → yyc1217: 注解是写给三个月後的自己看的 12/27 14:15
: 推 steve1012: 不过这样讨论都打高空啦 除非你贴一段被念的程式跟注 12/27 14:21
: → steve1012: 解 12/27 14:21
: 推 stupid0319: 多练习爬code不看注解吧 12/27 14:22
: 推 kokacal: git log是很好用的东西,每个人都在程式码内注解一段, 12/27 14:24
: → kokacal: 那到底是要看程式还是看注解 12/27 14:24
: → femlro: 苹果官方的code都有注解了 不写注解超越苹果 12/27 14:32
: 推 deray: 注解!=文件 12/27 14:35
: → askaleroux: 我只有Unittest写注解 12/27 14:38
: 推 thefattiger: 我觉得至少在func/cls开头简单地写一行这是拿来干嘛 12/27 14:39
: 推 jknm0510a: 我是会在比较复杂的判断上写注解,以後看比较不用思考 12/27 14:39
: → thefattiger: 可以节省让後来阅读的人节省很多时间及不必要的猜测 12/27 14:40
: 推 hotdogmc: 程式码本身就是注解 12/27 14:47
: 推 Argos: 要看情况阿 你是要出API 没注解行麽? XD 12/27 14:48
: 嘘 abc0922001: 洗文章吗 12/27 14:49
: → Argos: 内部产品程式 注解有必要再加吧 有些潜规则不讲很麻烦 12/27 14:49
: 推 sean2449: 自以为写很好不用写注解的很多+1 通常就是...自以为 12/27 15:00
: 推 yesyesyesyes: 要拜托 12/27 15:04
: 推 KanzakiHAria: 拜托要+1 12/27 15:19
: → KanzakiHAria: 命名到为还是需要注解 因为每个人逻辑不一样 12/27 15:19
: → deray: 「当程式码与注解不符时,你相信什麽?」 12/27 15:20
: → deray: 「The ultimate comment for the code is the code itself 12/27 15:20
: → deray: 「注解是用来『弥补我们用程式码表达意图的失败』」 12/27 15:21
: → knives: 推楼上加一,商业逻辑可以另外写在文件上去交接 12/27 15:21
: 推 LoserWon: 会写注解的,写出去的注解越多,回来问的越少 12/27 15:29
: 推 ymcheung: 换上有意义的命名後 注解的份量就变少了 12/27 15:38
: → rofellosx: 并不会少.. 12/27 15:40
: → dnabossking: 把code写的烂的一b然後跟你说:「我有写注解」看完 12/27 15:42
: → dnabossking: 注解再看code发现注解根本在误导(你根本没有任何方 12/27 15:42
: → dnabossking: 法保证注解的正确性跟易懂)这种人我也见过不少就是 12/27 15:42
: → dnabossking: 了 12/27 15:42
: 推 vi000246: 直接注解写文件位置 要看逻辑自己去查文件 12/27 16:02
: 推 exeex: 先养成"程式即是注解"的code style 12/27 16:05
: 推 iamshiao: 特殊处理写,其他不写 12/27 16:15
: 推 kevin28: 比较复杂的逻辑才会写 12/27 16:18
: 推 sean50301: 看情境xd 建dl模型注解一下shape 後面的人会很感谢你 12/27 16:44
: → KanoLoa: 当然要写阿,写个magic搞搞後人 12/27 17:06
: 推 twilighthook: 要拜托 文件也要写一下 12/27 17:07
: → twilighthook: 不然看到A05_001.java 这样的没注解没文件鬼才知道 12/27 17:07
: → twilighthook: 是要做啥的 12/27 17:07
: 推 sachung28: 至少函式要写注解说明功能 和input/output吧 12/27 17:17
: 推 ekin1983: 我的注解通常只写什麽时间 为何而改(bug 资安 需求单) 12/27 17:19
: → ekin1983: 还有每个function上方注明用途 12/27 17:21
: 推 channaiN2: 个人觉得都可以 不管写不写注解 只要你的code让人不好 12/27 17:24
: → channaiN2: 懂 那就有改进的空间 不管是加注解或是重构 12/27 17:24
: 推 PoloHuang: 写了注解 结果之後程式有改结果注解没跟着改 12/27 18:03
: → robber1234: 4 12/27 18:44
: 推 fanatics5566: 只有复杂的逻辑 或 work around的部分会写而已 12/27 18:44
: → testPtt: 注解写得好下次回来改东西就很好进入状况 12/27 18:52
: → CaptainTeemo: 那有做 code review 吗?有确保不解说的情况下对方 12/27 18:55
: → CaptainTeemo: 能看懂吗? 12/27 18:55
: → testPtt: 尤其像C#注解还有函式超连结功能 追程式码方便很多 12/27 18:59
: 推 codehard: 可以写pseudo code当注解 12/27 19:19
: 推 overhead: 注解是用来『弥补我们用程式码表达意图的失败 12/27 19:53
: 推 shortoneal: 你把code贴上来,不然会沦为各说各话 12/27 20:40
: → shortoneal: 我有看过code写得还行购简洁,可是注解写好几行的 12/27 20:40
: → shortoneal: (然後还是很整齐) 12/27 20:40
: 嘘 THEWORLDS: 菜逼巴CODE都写不好了还不写注解 多可怜 没看过大专案? 12/27 20:52
: 推 vn509942: 注解可以画宗教神只保佑大家身体健康 12/27 20:58
: 推 gino0717: 注解应该写中文还英文 写英文英文太烂人家看不懂怎麽办 12/27 21:22
: → f496328mm: 要写技术文件,注解还好,code 架构写得好就够了 12/27 21:27
: 推 chuegou: 前辈写得asm没注解 看到快疯掉 12/27 21:36
: 推 chuegou: 尤其硬体相依的设计 没注解我甚至该问ME还是EE都不知道 12/27 21:40
: 推 ChungLi5566: 不要在注解写一堆东西 最好用两行表示整个方法 12/27 22:38
: 推 justben: 有magic number 的时候 再写就好了 12/27 23:12
: → justben: XDD 12/27 23:12
: 嘘 xxtuoo: 几乎全部专案都我一个人维护的..写屁Zzz 12/27 23:36
: → y3k: 不管Code还是注解 有必要才写 有必要必写 12/27 23:42
: 推 molopo: 你不写 你同事也不写 可以公告一下你哪间公司吗 未来不想 12/27 23:44
: → molopo: 去 12/27 23:44
: 推 lausai: 注解是需要的 不过注解的用处是说明程式码作了甚麽 为什麽 12/28 00:26
: → lausai: 这麽作 而不是怎麽做 12/28 00:27
: 推 lausai: 不过觉得助解不需要的主管...不块陶吗XD 12/28 00:29
: → gino0717: 如果当上主管就可以说 自己的code是clean code 不用注解 12/28 00:35
: → gino0717: 你们底下基层都是dirty code 都给我写好写满 12/28 00:35
: 推 CloudyWing: 我比较少写这段程式码是干嘛的,但会写为什麽要这麽做 12/28 01:01
: → CloudyWing: 注解要写到到如何见仁见智,但有些写法我不敢苟同... 12/28 01:03
: → CloudyWing: 像是说要写注解好维护,写一大堆,结果注解没好好维护 12/28 01:06
: → CloudyWing: 或着写Log时,上行来个//Log,return来个//return 12/28 01:07
: → CloudyWing: 然後最近对於一个class里有满满的regin感到很不耐烦 12/28 01:10
: → coldreflect: 看公司环境,很多时候写注解commit log是纪录口头沟 12/28 01:13
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 223.138.125.187
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1546056944.A.99E.html
1F:推 ThxThx: 同意这篇。这个问题Reddit也有许多讨论,像这篇 12/29 14:57
4F:→ viper9709: 推整人 01/01 23:35