Soft_Job 板


LINE

※ 引述《accessdenied (存取违规)》之铭言: : 这边怎麽老是吵着小孩子头上有几根毛的问题。 : 说不用注解的,都是英雄主义作祟,自己因为自己的程式码天下最简洁易懂,这种看不清 : 自己的人还挺多的。 : 团队合作就是要注解,除非你不在乎团队! : 你以为大家都是你肚子里的蛔虫? : 我光是写一行code: : key = salt + DateTime.Now.AddHours(-4).ToString(“MMdd”); : 就会一直有人来问为什麽要这样写,-4什麽意思? : 最後我加上一行注解从此耳根清净 : // 厂商要求每天清晨4点以後要更换加密金钥 : 大家讲了半天,注解只有一个缺点,就是过时美人维护。而我认为这才是真正该教育改善 : 的文化和心态:不是我写的注解,所以我没有维护的责任。 : 这才是真正的弊端,而不是倡导clean code。 这个例子举得蛮好的,很多时候我们实务上面对的问题不是单靠命名就可以解决, 因为很多问题没有逻辑性。 比如说我有个机器硬体设计可能有问题,操作100次的时候需要有一个例外操作, 这个code可能会长成: for(int i = 1 ; i <= 2000; i++){ if(i % 100 == 0){ DoSomethingElse(); }else{ DoSomething(); } } 这种case你要怎麽命名? 这可能是个hardware bug,你确定你要在变数 里面解释这是一个hardware bug吗? 这个case跟上面举的-4基本是同一类的, 你变数再怎麽命名都不会比写注解清楚。因为实务上我们会想要提醒接手 的人这个hardware bug长什麽样子,如果有做类似的操作要怎麽避开, 这不用注解是不大可能做得到的。如果你说可以写在commit log... ㄛ...我们好像有客户还在用svn... 这种例子我觉得不能算是magic number,本质上不管你怎麽define都解释不清楚, 用define的好处就是集中管理方便重用而已。真的要解释中间插两行issue number 简单说一下都好,在那边落落长想code怎麽命名花的时间不会比较少, 何况别人读你的code的时候看注解比看code上下文猜容易太多, 这个case就算加了define命名还是需要写注解。 BTW, 程式写注解和做好变数和流程命名根本就不冲突,两者是互补而不是竞争关系。 我不知道这边为什麽会有写哪一种比较好的争论,实务上两个都需要, 哪个经济用哪个。 另外我真的觉得很好奇想认真问一下,各位真的觉得那个-4在那边取什麽 DailyRest之类的东西绕来绕去有比加一行注解好吗...?? 先不要说是不是大炮打小鸟这问题,code没有比较好读啊。 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.134.180.133
※ 编辑: iincho (220.134.180.133), 12/30/2018 08:24:29
1F:推 GX90160SS: 其实很多时候跟每个人所在环境不同关系很大 12/30 08:25
2F:→ GX90160SS: 举例就可以看出原PO不是走纯软的吧,应该没有对程式 12/30 08:26
3F:→ GX90160SS: 设计规范有所要求,从coding style可窥知一二 12/30 08:26
我那也是随便举个例子。 我就表达一件事,再怎麽精心设计变数名称和流程不可能cover所有case, 注解不可少,该用就要用。 ※ 编辑: iincho (220.134.180.133), 12/30/2018 08:28:27
4F:→ GX90160SS: 有些环境需要review code的机会可能不多就不会注重这块 12/30 08:29
code review我们有做啊,没加注解一样会被我踢。 ※ 编辑: iincho (220.134.180.133), 12/30/2018 08:30:08
5F:→ GX90160SS: 但也有多人协同工作的公司是天天要整合别人的程式码 12/30 08:30
6F:推 GX90160SS: 注解有其必要,但是不是写了注解就可以对程式可读性 12/30 08:34
7F:→ GX90160SS: 便宜行事,注解这东西不像变数可以跟着程式到处跑 12/30 08:34
呃..这两件事根本不冲突啊,没有人说写了注解就不需要考虑程式可读性? 是有一派坚持写注解是你程式写不好这论点比较有问题吧..? ※ 编辑: iincho (220.134.180.133), 12/30/2018 08:39:09
8F:推 superpai: 你想要注解的是why , 但是-4 是what, 不大相同 12/30 08:39
9F:推 superpai: 所以-4跟你的100都要命名,然後加上why的注解 12/30 08:42
这个我觉得没啥问题啊,我觉得这个版实在是不知道该怎麽说... 大家对别人的东西都很picky却忽视人家要表达的东西... 以那篇-4或是我这边写的100/2000这些东西,不会因为用了define就不需要写注解。 至於您有讲到一个点,我一直都在说code可以很好表达的是what/how,但是很多情况 下why只能用注解来处理。 ※ 编辑: iincho (220.134.180.133), 12/30/2018 08:46:07
10F:嘘 steve1012: 一直战这种鸡毛蒜皮到底要做啥... 12/30 08:57
11F:→ iincho: 我也觉得这种不冲突的问题发一篇也满奇怪的..XD 12/30 09:07
12F:推 hidog: -4如果只用在一个位置,我觉得要不要定义都ok 12/30 09:59
13F:→ hidog: 虽然我会定义,注解并行. 两者其实没冲突 12/30 10:00
14F:推 deray: 100拉出来变成const EXCEPTION_INTERVAL 12/30 11:56
15F:→ deray: 加个subFunction check isExceptionOccurred 12/30 11:57
16F:→ deray: 这麽简单还要我说 12/30 11:57
17F:→ xephon: 现在是变成理想派vs实务派大战? 12/30 12:26
18F:推 gmoz: EXCEPTION_INTERVAL 再怎样都会有一个名词多种脑补解释 12/30 12:43
19F:→ gmoz: 注解一行上去就解决了 干嘛坚持不要? 12/30 12:43
20F:→ localOjisan: 这个100的例子跟拒绝存取的例子有不一样吗?带有特 12/30 14:01
21F:→ localOjisan: 殊意义的值为什麽要直接hard code? 12/30 14:01
22F:推 kokal: 这例子绑定hardware,只有删除或留着,没有修改 12/30 14:23
23F:推 lance70176: 同意你的意见一票 12/30 14:53
24F:→ rofellosx: 为何不能cover所有case? 01/02 09:02
25F:→ fgkor123: 韧体常不能cover,粒度不够+记忆体限制+不一定有os... 01/04 07:48
26F:→ fgkor123: i/o没事不会重写,special case常常比想像的多... 01/04 07:49
27F:→ viper9709: 推这篇~解说的很好 01/04 22:24







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BabyMother 或 站内搜寻

TOP