Re: [请益] 写注解到底是不是好习惯

楼主: accessdenied (存取违规)   2018-12-29 21:57:30
这边怎么老是吵著小孩子头上有几根毛的问题。
说不用注解的,都是英雄主义作祟,自己因为自己的程式码天下最简洁易懂,这种看不清
自己的人还挺多的。
团队合作就是要注解,除非你不在乎团队!
你以为大家都是你肚子里的蛔虫?
我光是写一行code:
key = salt + DateTime.Now.AddHours(-4).ToString(“MMdd”);
就会一直有人来问为什么要这样写,-4什么意思?
最后我加上一行注解从此耳根清净
// 厂商要求每天清晨4点以后要更换加密金钥
大家讲了半天,注解只有一个缺点,就是过时美人维护。而我认为这才是真正该教育改善
的文化和心态:不是我写的注解,所以我没有维护的责任。
这才是真正的弊端,而不是倡导clean code。
一个连别人的注解都不愿维护的人(更糟者连自己的注解都不维护),你期望他修改别人
的function真的负起什么修改的责任?function功用变了,他回去改function name 然后
把呼叫到这个function的所有程式码都调整过?别傻了孩子!
连注解都懒惰不维护的会跟你搞refactoring?
用不写注解来解决注解过时或错误的问题,根本“掩耳盗铃”嘛!
更何况注解带来的利益,用遇到几个误解的注解,就想要全盘否定,根本以偏概全。
还有一种注解我也常写,我这边的解决手法参考到什么google 解答,我会把blog or sta
ckoverflow 的连结放在注解内,让后人知道这个解法的思路怎么来。
团队战不是给这些自命清高不写注解的小孩子们玩的!
作者: flowheart (生气就输了)   2018-12-29 22:05:00
光看一个独立的数字,就知道为何你需要注解注解不是罪,但是有更多自带注解的写法,可以省去维护的心力,例如这种孤独的数字,应该先define再引用
作者: alihue (wanda wanda)   2018-12-29 22:12:00
作者: GX90160SS   2018-12-29 22:14:00
-4你可以先用有意义的名称define起来...
作者: Csir (张胖胖)   2018-12-29 22:18:00
像是7-11
作者: eric80295 (Hello)   2018-12-29 22:20:00
美人维护???
楼主: accessdenied (存取违规)   2018-12-29 22:22:00
大家可以说说会用什么字眼去define那个-4,可以让我免除那行注解?我觉得怎么define都不如我那行注解简单扼要
作者: gino0717 (gino0717)   2018-12-29 22:23:00
#define MinusFour = -4
楼主: accessdenied (存取违规)   2018-12-29 22:24:00
楼上我笑了
作者: feeya (24 August 升格为乡民)   2018-12-29 22:24:00
#define customersayotmustchangeevery4hr=-4
楼主: accessdenied (存取违规)   2018-12-29 22:26:00
楼上define误解后人喔,每天清晨四点不是每四小时喔。
作者: orangeterry (bghnbytnytn)   2018-12-29 22:33:00
这篇把为什么要注解写的超好用DEFINE也没注解那一行好
作者: yyc1217 (somo)   2018-12-29 22:40:00
AddHours(-4)很难马上看出来 我会放在function里或是类似key = shouldReset() ? getNewKey() : key然后把厂商要求那段写在shouldReset()的block注解
作者: v420746k (Tyrone_Huang)   2018-12-29 22:50:00
timeOfChangingKeyAsHourPerDay = 4; addHours(-timeOfChangingKeyAsHourPerDay)这样呢?
作者: GX90160SS   2018-12-29 22:56:00
不管要不要写注解,都该尽可能让程式码本身可达意
作者: Ghamu (猫丸)   2018-12-29 22:58:00
结果你自己就是你骂的那种人啊~ 不写注解自以为屌 弄到一堆人来问才加注解 话说你应该是要命一个好的名称才是 但真的想不到 最少加注解 没关系 尽力就好
作者: GX90160SS   2018-12-29 23:00:00
就这篇功能的意图,key可以改名dailyKey,-4可以define为renewTimeOffset之类的,当初如果这样写可能不用补注解也不会被烦
作者: yyc1217 (somo)   2018-12-29 23:04:00
楼上的例子也不错
作者: oneheat (等待)   2018-12-29 23:07:00
像这种东西,应该写在commit log里面啦,大哥
作者: testPtt (测试)   2018-12-29 23:24:00
#define SEVENELEVEN = -4
作者: x000032001 (版废了该走了)   2018-12-30 00:00:00
if now >= 04:00 不就好了..是要define什么?
作者: shownlin (哈哈阿喔)   2018-12-30 00:22:00
这是典型magic number...
作者: alihue (wanda wanda)   2018-12-30 00:30:00
这个怎么会写在 commit log…一眼能不能分辨差很多好吗
作者: oneheat (等待)   2018-12-30 00:51:00
Commit log是让你写故事的啊,厂商要求这种东西就是一个商业故事至于你代码要写-4 +4 magic number define等等,那千奇百怪,延伸就更多了
作者: Bencrie   2018-12-30 01:32:00
Magic number 赞。写 commit log 让后人用 blame 去查前因后果。
作者: kira1101 (肉包)   2018-12-30 01:36:00
我笑了 写得这么烂的话真的一定要注解不然真的没人知道那-4用来干嘛的
作者: qscesz1456 (soloud)   2018-12-30 03:49:00
这种可以写在config 注解在config就好 改也方便
作者: KeyFSN ( ~☼☽✩☁~ )   2018-12-30 03:51:00
天才小钓手是你
作者: vi000246 (Vi)   2018-12-30 04:36:00
典型的magic number我会用changeKeyEveryDay当function名
作者: drajan (EasoN)   2018-12-30 06:39:00
MAGIC NUMBER.....code smell
作者: wynight (灵盟器水)   2018-12-30 06:41:00
笑的人要不要把自己的code贴上来,让大家review,自以为屌?
作者: iincho (世界的尽头)   2018-12-30 07:21:00
这个例子很好啊,有些case写注解是最省事的资讯传递方式这个不大能算Magic number,实务上很多case必须这样搞...尤其在商业逻辑部分很多东西用程式角度来看是没有逻辑的这个例子你变量再怎么命名都不会比加一行注解清楚的...BTW, 这篇的第一句话跟我对这个版的感想一样...:p
作者: superpai (超级白)   2018-12-30 08:28:00
典型的不会命名变量只好写注解
作者: Argos (Big doge is watching u)   2018-12-30 08:29:00
结果某次commit有人把数字改了注解没改 然后接手的直接看了
作者: weinine32 (随意)   2018-12-30 08:30:00
推你这篇,说不用注解的人真是自我感觉良好
作者: Argos (Big doge is watching u)   2018-12-30 08:30:00
注解就当成清晨四点往后写逻辑 然后就.....XD该写注解的地方当然该写啦 但我觉得比起写不写注解更重要的是 注解你要写 你就要把它当成code的一部份 要改code就是要去改注解吧?多少人有只改code 注解却没改的恶习?
作者: iincho (世界的尽头)   2018-12-30 08:42:00
连注解都不想维护的会好好维护变量命名...这我不大信...
作者: Argos (Big doge is watching u)   2018-12-30 08:45:00
写code的人百百款阿 变量命名已经是普世价值 再白痴的也会稍微注意 但维护注解动机可就不像把变量命名好这么强烈而且有时也根本是案子一忙一急 注解就“忘了改”不是不改喔平常都有改只是这次“刚好忘了” 阿就是一堆刚好忘了 才造就不可信任的注解啊 XDDDD还有一个副作用就是信任度的问题 只要有几个地方注解跟code对不起来 会导致你日后再看这个专案时 不信任上面的注解所以一切还是要回归到人自己的责任上
作者: askaleroux (FalconTW)   2018-12-30 09:34:00
写Magic Number的烂扣也敢推上来看啊
作者: jack42107 (小克)   2018-12-30 10:40:00
这篇好笑 拜托你这种人一定要写注解
作者: turkeyonly (逼逼)   2018-12-30 10:42:00
小朋友爱写hard code,还好意思说什么耳根清静...
作者: sharek (...)   2018-12-30 11:04:00
你的确蛮需要写注解
作者: mmmbop (wanderlust)   2018-12-30 11:42:00
这例子明明注解比define好商业逻辑这么多 每个常数要一个个都def 傻了吗
作者: lance70176 (十三夜)   2018-12-30 11:59:00
这个例子我觉得写得不错有时候这才是最好的方法能解决问题的就是好方法
作者: deray (Deray)   2018-12-30 12:02:00
还好我不是你同事 不会写扣去种田-4这种magic number到处乱塞
作者: dali17dali17   2018-12-30 12:17:00
这种设定性数字应该写去config了 ,hard code害人
作者: gmoz ( This can't do that. )   2018-12-30 12:40:00
要一直开commit log来看也太累
作者: tvbic   2018-12-30 12:41:00
这个例子是你原本就写的太烂
作者: KanzakiHAria (神崎・H・アリア)   2018-12-30 12:44:00
config写在code里 贵公司哈哈哈哈哈哈哈哈哈哈最好笑的是这篇就是自介文
作者: localOjisan (地方大叔)   2018-12-30 13:43:00
自己扣写这种程度也好意思说别人吵头上几根毛
作者: konkonchou (卡卡猫)   2018-12-30 13:47:00
真的 config别写在程式,不然改个设定还要重新编译
作者: showforce (秀佛阿~~~~斯)   2018-12-30 13:54:00
完美示范Magic Number!
作者: rtoday (rtoday)   2018-12-30 15:11:00
哇,人家是年薪300万耶,靠剪贴剪出一片天,在板上发废文问大家会不会在公司打手枪,(然后被版主水桶)。顺便呛翟本乔技术再强又怎样。呵呵,继续放著这篇,别删文给信徒膜拜吧
楼主: accessdenied (存取违规)   2018-12-30 19:33:00
对!还没专文批一下翟本乔!感谢提醒!
作者: sharku (明珠求瑕)   2018-12-30 21:07:00
写code功力令人佩服...
作者: eric80295 (Hello)   2018-12-30 22:22:00
所有这篇的错字要不要维护一下?
作者: rollr (衛生紙的心情)   2018-12-31 01:33:00
Magic number
作者: twntwn   2018-12-31 14:22:00
这篇十分工程 比板上嘴砲强多了
作者: zebraseven (Die walkuere)   2017-01-01 01:10:00
作者: Aidan79225 (鬼神)   2017-01-03 08:41:00
拜托你写注解
作者: remmurds (Stronghold)   2017-01-04 20:38:00
作者: viper9709 (阿达)   2017-01-04 22:24:00
推这篇~这才是现实情况
作者: ch890333 (红狼)   2017-01-05 00:38:00
商业逻辑是超脱程式的东西 毕竟不写出来谁知道啊
作者: pig2014 (Rocking Man)   2017-01-06 02:21:00
我个人认为-4应该写成变量然后用个好的命名

Links booklink

Contact Us: admin [ a t ] ucptt.com