Soft_Job 板


LINE

※ 引述《Ommm5566 (56天团)》之铭言: : ※ 引述《p52189 (鼠霸)》之铭言: : : 如题……原始码不长 : : 但撰码习惯跟我完全不同 : : 到现在我也还没找到规则 : : 以至於想改一小部分都因为不知道规则而必须几乎全部爬一遍才改得动 : : 每次读都很难沉住气一下就很烦躁不想做了 : : 一直这样很像也不是办法 : : 请问大家有什麽方法可以坐得住吗= = : : 谢谢…… : : ----- : : Sent from JPTT on my HTC_M9u. : 给原PO的答案就是 多看google fb ms 你就会觉得平常人写code很平常 : code不好读才是常态 就连google facebook microsoft高手也是鸡鸡歪歪阿 : 版本号没遵守Semantic versioning 然後随随便便随便都可以看到菱形继承 : 建置系统像用掷硬币决定 有相依性的library有的用cmake有的用automake : (我看过issue: "I just want to say FUCK! waste me lots of time" 6 days ago) : 心情好还用macro function递回宣告变数 IDE追不到这些变数 : 突然哪根筋不对就写lex&yacc去parse自己规定的档案格式 : 如果是多人贡献一个专案 还可以看到各种风格混杂 : 1. macro派 : 绝对不会愧对GOOGLE名号的神macro function : 2. 新潮派: 绝对不会愧对GOOGLE名号各种最新最潮的C++11玩法 : 3. C style派 : 大量typedef struct / malloc和free 我以为我在看C语言 : 4. OO派 : 超爱New和Delete 但只限於这个.h/.cpp (其他.h/.cpp使用unique_ptr) : 5. 三位一体 : pointer/reference/ 纯copy 在同一个function参数列共存 : 6. template派: 是一位很爱编译时期决定的朋友呢 : 搞得看完整几个相依的library我都学会所有c++ feature了 : 堂堂地表最强软体公司也是不会统一的....... : 至於"coding sytle" 他们通常会用clang-format去整理 所以还算一致 程式码风格在大型专案里头着实是一件很难搞的事情,在很难去分高下的前提下真的要讨 论往往会变成宗教战争,参与开源专案这几年看过不少年薪几百万台币的工程师吵风格吵 得不可开交然後又不了了之。 回到主题。阅读他人的程式码是一件极度需要修养的工作,除了耐心以外,老实说我也不 确定到底有啥诀窍,不过我个人蛮喜欢一个小技巧,就是帮别人的程式码写注解。尤其当 此次的修改需要用到别人的程式码而且又很难啃的时候,帮忙写点注解除了确保自己真的 有看懂以外,也可以做功德的帮助下一个可怜的工程师。 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 27.247.6.62
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1517080258.A.59C.html
1F:→ steve1012: 除非很明显在做啥 我们几乎所有的 code都要注解 01/28 03:45
2F:推 mmonkeyboyy: 我遇到的快要被要求接近每一行都要 01/28 09:03
3F:→ mmonkeyboyy: 我刚加入时就是在帮别人写注解 Q_Q 01/28 09:04
4F:推 diabloevagto: 每一行都要注解也太拢长了,要不要看看写法是否可以 01/28 09:35
5F:→ diabloevagto: 调整? 01/28 09:35
6F:推 steve1012: 每行都要感觉只会增加维护麻烦 01/28 09:53
7F:→ robler: 注解写太多只是突显程式写的很烂的问题 01/28 10:09
8F:推 NDark: 光写不写注解就吵成一片了. 还谈甚麽风格. 01/28 10:16
9F:→ NDark: ---- 以下 tab/space大战 开始 ---- 01/28 10:16
10F:→ b0690151: 想加注解还会收到指示说不可以写注解.... 01/28 10:47
11F:推 vi000246: 乾脆用中文命名变数好了 能少写很多注解 01/28 10:58
12F:推 mmonkeyboyy: 我也当初这样反映过 不过要照什麽convention... 01/28 11:14
13F:→ mmonkeyboyy: 也是只有那种很明显的code才不用写 01/28 11:17
14F:嘘 THEWORLDS: 读人家代码需要什麽休养? 就能力不够读的很痛苦而已 01/28 11:26
15F:→ THEWORLDS: 代码到底有多难读,就跟文章一样你是语言不熟吗? 01/28 11:26
16F:→ THEWORLDS: 不要自己烂就觉得读的痛苦很正常好吗 01/28 11:26
17F:→ THEWORLDS: 看一下架构就知道他等级到哪了,根本没难度好吗 01/28 11:27
18F:→ THEWORLDS: 不会写的也不可能分层到哪里去也不太需要切到几次class 01/28 11:28
19F:→ THEWORLDS: 可悲 01/28 11:28
20F:→ feeya: 一个func有3~4页常都是if包if包好几层 这种读的很痛苦 01/28 11:32
21F:推 cookie1115: T大可能没看过烂code 去金融业晃一圈就知道了 01/28 11:53
22F:推 Raymond0710: 某T干嘛7pupu,又不是什麽状况你都遇过,还是你写的co 01/28 11:56
23F:→ Raymond0710: de,别人觉得难读? 01/28 11:56
24F:嘘 THEWORLDS: 老子看别人code好多年,也帮别人改过 根本没感觉 01/28 12:03
25F:→ THEWORLDS: 就读起来很不方便而已 没必要讲的好像看别人CODE很生气 01/28 12:03
26F:→ THEWORLDS: 代表自己很强,我最讨厌这种装b的 01/28 12:03
27F:推 stosto: 看得不爽骂两句而已,这种东西读不懂该检讨自己吧 01/28 12:37
28F:推 banqhsia: T大是真的没看过程式码写的很烂的,所谓很烂指的是该 01/28 12:55
29F:→ banqhsia: 缩排不缩;好几层if;程式码太多重覆;变数随便乱取乱创 01/28 12:56
30F:→ banqhsia: 看不懂是真的,因为call来call去,自己也不知道call哪 01/28 12:57
31F:推 Masakiad: 高阶语言需要注解都是本身写太烂 01/28 12:58
32F:推 sharku: 推楼上 01/28 13:45
33F:推 fantasychese: 老子看别人code好多年 最讨厌这种装b的 01/28 13:49
34F:推 abccbaandy: // 这段不要看,有需求直接砍掉重写 01/28 13:57
35F:→ tyc5116: T大试着去读看看泡泡code吧,看你要花多少时间 01/28 15:46
36F:推 vi000246: 我看过用AJAX call来call去的 追得很不爽 01/28 16:20
37F:推 Ommm5566: 泡泡code好怀念 IOCCC大赛 01/28 18:19
38F:→ y3k: 高阶语言需要注解都不及格+1 01/28 18:31
39F:推 shortoneal: 你也知道立场不同差很多了,搞不好下一个看到你的code 01/28 19:41
40F:→ shortoneal: 又觉得这个人写注解也写的太罗嗦了,又上来PO文lol 01/28 19:42
41F:→ shortoneal: 我也很讨厌那种整天嫌人写code怎样的,感觉很幼稚 01/28 19:43
42F:→ mathrew: 每行都写反而更难读吧 一团乱 01/28 20:24
43F:推 Ommm5566: 现在越来越强调Hierarchy的设计了 毕竟大团队是小团队 01/28 20:32
44F:→ Ommm5566: 组成 拆成小团队就还可以 01/28 20:32
45F:→ Ommm5566: 最表面给user使用的API介面型状和抽象层次要同一 01/28 20:32
46F:→ Ommm5566: 注解也尽量详尽 这个层级的注解相当於文件了 01/28 20:33
47F:→ Ommm5566: 然後中间各个team自行决定coding style 注解适量 01/28 20:33
48F:→ Ommm5566: 最下层每个人会有各自的习惯 这边就仰赖写程度和良心 01/28 20:34
49F:→ Ommm5566: 不管甚麽时候遇到个人习惯都是无解阿XD 01/28 20:34
50F:→ MOONY135: BTN1 BTN2 BTN3 01/28 21:32
51F:→ chia7712: 别激动啊。读code的耐心不一定是指对方code不好,很多 01/28 22:08
52F:→ chia7712: 时候只是写code的人的逻辑差异甚大而已,而这也是为啥 01/28 22:08
53F:→ chia7712: 注解很重要。 01/28 22:08
54F:→ chia7712: 能不用注解就让团队都看懂的程式码很棒,但事实上专案 01/28 22:13
55F:→ chia7712: 不大还可以达到,但当你专案长到几百万行的时候就有难 01/28 22:13
56F:→ chia7712: 度了 01/28 22:13
57F:推 NDark: 楼上有逻辑漏洞. 一开始都不会认为最後会变成几百万行. 01/28 22:48
58F:推 mmonkeyboyy: 我也觉得每行都写一团乱 但就如楼上几楼所说的要看是 01/28 22:50
59F:→ mmonkeyboyy: 前还是後 有些API真的就是要求一行一行写 01/28 22:51
60F:→ mmonkeyboyy: 好处就是後面的人可以跟上 01/28 22:51
61F:→ mmonkeyboyy: 不过最烦的还是不写英文的...写什麽法语之类的Q_Q 01/28 22:52
62F:→ Kayusumi: 靠杯我看过写日文的注解跟德文的XDD 01/28 22:55
63F:→ Kayusumi: 变数名称与其物理意义不相符也很囧 01/28 22:56
64F:推 chuegou: 我现在遇到最困扰是magic number没注解 只能乾瞪眼 01/28 23:53
65F:推 netburst: 缩排没差吧 IDE FORMAT一秒 01/29 00:15
66F:推 steve1012: 事实上就是没有完美的 coding style 什麽高阶语言不用 01/29 00:58
67F:→ steve1012: 注解在大一点的codebase 是不大可能的人人都觉得自己写 01/29 00:58
68F:→ steve1012: 得最漂亮 01/29 00:58
69F:→ chia7712: NDark大说到重点了,一开始没把专案当成大型专案来管理 01/29 02:15
70F:→ chia7712: ,等到有一天发现已经变成怪物就来不及了,只能付出更多 01/29 02:15
71F:→ chia7712: 时间来补救。 01/29 02:15
72F:→ vi000246: 我主管都只想解决眼前问题 没想到日後维护 01/29 10:14
73F:→ vi000246: 制造出来的技术债只好後人来还了 01/29 10:15
74F:→ leolarrel: 对於注解的想法,我的观念是站在clean code这边,也就是 01/29 11:21
75F:→ leolarrel: 非必要不写注解 01/29 11:22
76F:推 SABA0: 没看过用注解写日记的吼。 看得我都要哭了 01/29 16:49
77F:推 Sidney0503: 哈哈哈非必要不写 所以你的命名都很完美? 01/29 18:46
78F:→ Sidney0503: 语意真的都清楚可以让後人看懂? 01/29 18:47
79F:→ mmonkeyboyy: 我是废材程式员啦 一般我都会开fold和调颜色来决定 01/29 22:49
80F:→ mmonkeyboyy: 要不要看注释 @_@~ 01/29 22:50
81F:→ mmonkeyboyy: 一开始我也不太习惯一堆注释XD 後来才发现真有人需要 01/29 22:51
82F:推 steve1012: 常常实作还会有一些假设 复杂度也未知 没写注释就是要 01/29 23:56
83F:→ steve1012: 读内容搂 01/29 23:56
84F:推 littlethe: 我是看过很多人只会逼别人写注解,然後自己死不肯写注解 01/30 09:16
85F:→ littlethe: 说自己写的code好所以不写,然後又爱批评别人的注解 01/30 09:18
86F:→ leolarrel: Sidney0503你在悲愤啥?看清楚我表达的是非必要不写,不 01/30 09:33
87F:→ leolarrel: 是绝对不写,你觉得取名技巧不好人家看不懂,不就是你说 01/30 09:33
88F:→ leolarrel: 我说的"必要的时候"吗? 01/30 09:34
89F:推 Ghamu: 我都是func名称无法表达意思 想一阵 真不得已才上注解补充 01/31 01:06
90F:→ Ghamu: 所以对那种胡乱取名 写一大堆注解的人超不爽想骂干 代表根 01/31 01:06
91F:→ Ghamu: 本就没把其他合作开发的工程师放在眼里嘛 01/31 01:06
92F:→ Ghamu: clean code也说过了 注解一堆根本不可能期待会被下一个改的 01/31 01:08
93F:→ Ghamu: 人持续更新维护 有一个人漏 下次看到注解与程式本身不一致 01/31 01:08
94F:→ Ghamu: 就会陷入混乱 01/31 01:08
95F:推 t64141: 同意楼上,年久失修的注解常常扮演误导後人的角色 01/31 10: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灯, 水草

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

TOP