团队开发代码不爱写注释,如何解决这一困境?

2020-10-22 23:19:40 +08:00
 labulaka521
刚入职不久,维护的心累,在别人的没有注释代码上加功能是真的难受

怎么让大家对于比较复杂的逻辑习惯写上注释
9889 次点击
所在节点    程序员
127 条回复
Hider5
2020-10-22 23:26:43 +08:00
赶快跑
labulaka521
2020-10-22 23:31:04 +08:00
@Hider5 我是真不知道是大家都是这样还是只有这里是这样
thedrwu
2020-10-22 23:32:45 +08:00
换 haskell,不用写注释
kaiki
2020-10-22 23:34:23 +08:00
不写注释我昨天写的代码今天都看不懂,估计他们的代码自己不会看吧
az467
2020-10-22 23:35:58 +08:00
拒绝注释比例过少的 commit 。
labulaka521
2020-10-22 23:37:45 +08:00
@az467 这我决定不了,只是刚进去的小兵 ,只能发发牢骚或者提点意见
labulaka521
2020-10-22 23:42:59 +08:00
@kaiki 哎 谁知道呢 每次改个东西 就很难受 醉了
labulaka521
2020-10-22 23:43:17 +08:00
@thedrwu 这是什么鬼
UsherOu
2020-10-22 23:43:42 +08:00
我们 cto 不让写注释
labulaka521
2020-10-22 23:47:04 +08:00
@UsherOu 这能给个理由吗
billlee
2020-10-22 23:54:21 +08:00
@labulaka521 #10 遇到过注释和代码不同步的,错的注释不如没注释
labulaka521
2020-10-23 00:05:43 +08:00
@billlee 改了代码 没改注释吗
Cuo
2020-10-23 00:22:49 +08:00
@labulaka521
可能是因为好代码本身就具有可读性吧。
而且业务逻辑本身也不需要写在注释里。我们组的注释一般是简单描述函数功能,或者标注参数类型。
Cuo
2020-10-23 00:23:36 +08:00
# 10 这能给个理由吗
labulaka521
2020-10-23 00:50:27 +08:00
@Cuo 好代码的确具有可读性 ,但是不是所有代码都能是好代码
abersheeran
2020-10-23 00:53:12 +08:00
你这个问题直接让我思绪回到一年前我还在某公司的时候……Django1.3 配上 Python2.6,业务代码就是堆,这个无可厚非,一个 URL 一个函数嘛,反正也不影响整体项目。但代码结构也是屎,统一的 JSONResponse 都没有,一个单语句的函数,非要放进一个类里去调用。注释?你想要什么注释?我提出了这个问题……被教育了一顿。我提出优化代码,我又被教育了一顿,“自然有人来做,你把业务写好就行”。
待了一个多月,掐点看学校的实习任务完成了,直接跑路。
qiumaoyuan
2020-10-23 00:55:29 +08:00
重构代码
qiumaoyuan
2020-10-23 00:58:50 +08:00
写详细点吧:

1. 代码需要注释说明代码不可读,为了让代码可读,就需要对代码进行重构。写注释本身属于重复行为——已经用代码写了一遍,再用人类语言写一遍,一处变动需要同时做两处修改。

2. 重构代码不需要先理解原有逻辑,逻辑在重构过程中自然就能理解。
labulaka521
2020-10-23 01:18:16 +08:00
@qiumaoyuan 代码注释说明代码不可读,这我感觉有点极端了,像一些项目比如 grpc go-micro 都有每个函数或变量都有很详尽的注释,我觉得是注释是帮助来理解代码逻辑的,而不是代码不可读了,才需要注释。
Cuo
2020-10-23 01:38:26 +08:00
@labulaka521
#15 好代码的确具有可读性 ,但是不是所有代码都能是好代码
review 时有读不懂的地方直接指出来让对方改。如果是比较复杂的设计则请对方连带文档一起提交。

或者看看以前的工资单,年终奖忍一忍也就过去了(狗头)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/717640

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX