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

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

怎么让大家对于比较复杂的逻辑习惯写上注释
9980 次点击
所在节点    程序员
127 条回复
ungrown
2020-10-23 09:47:05 +08:00
注释其实算是个历史遗留产物
以前计算设备算力低,开发机的算力也低
自然也没有如今功能强大的 IDE 软件辅助写代码
所以那时候代码字词句能少就少尽量简洁
那么代码的含义就很难从代码本身看出来,需要注释
现如今在 IDE 的自动补全代码树监控的加持下
长名超长名蔚然成风
代码含义几乎可以完全通过合理命名来显示表达
“代码即注释”
只有很少的情况下,才不得不依靠注释进行说明,例如:
命名无法体现含义,亦或妖码怪码 bug 码不讲道理,亦或“知其然不知其所以然”的代码
tikazyq
2020-10-23 09:49:49 +08:00
这种项目,当你花了半天时间读懂的时候,需求已经变了,淡定
jatsz
2020-10-23 09:50:16 +08:00
代码不会说谎,注释会。
hyperbin
2020-10-23 10:01:42 +08:00
@djs 题主这情况多半还有拼音变量
fhsan
2020-10-23 10:05:30 +08:00
@jatsz 注释才是最坑爹的地方
751327
2020-10-23 10:07:46 +08:00
@jatsz 有时候宁愿相信代码
jerryrib
2020-10-23 10:10:16 +08:00
ligiggy
2020-10-23 10:14:49 +08:00
理清业务逻辑可以写注释,封装接口给人用要文档。但是如果每一个函数,每一个命名都要写注释,那才是最垃圾的。代码要提升的是可读性,而不是人人口中的“注释”。
jatsz
2020-10-23 10:20:37 +08:00
@fhsan
@751327

基本上问这个问题就不是代码的问题,或者说技术问题,而更多的是管理问题。用技术的方式解决管理问题其实很糟糕。
真如楼主说的,团队强制让人写注释了,谁对注释负责,谁对代码负责。

还记得《让子弹飞》中的六子么?当你真的遇到了问题哭着说:“你们看看看啊,我支持了一碗凉粉”。你会发现周边根本没人听你的。
matrix67
2020-10-23 10:21:59 +08:00
上 ci,没注释拒绝合入
xianxiaobo
2020-10-23 10:24:51 +08:00
@labulaka521 我想说的是,如果你不是领导或者老板,根本没办法。写注释确实是减少了维护成本,但是增加了开发时间啊。谁来为这部分买单呢?另外,我说的确实是解决办法,不完全算是阴阳怪气。
sunznx
2020-10-23 10:24:54 +08:00
见过 curd 还加注释的
sunznx
2020-10-23 10:25:27 +08:00
见过 curd 还加注释的

// 获取一个用户
// 删除一个用户

这种注释还不如不注释
qiumaoyuan
2020-10-23 10:32:55 +08:00
@labulaka521 注释的作用主要是说明代码为什么要这么做,而不是描述代码在做什么。

另外软件开发就是要极端。没有极端过,你根本不知道“中间”在哪里,不知道极端在哪,所谓的折衷、权衡都是在搞笑和自慰。
fyooo
2020-10-23 10:37:46 +08:00
国内大环境根本解决不了,这类需要从上至下的推动的
casillasyi
2020-10-23 10:52:19 +08:00
代码写的一塌糊涂的,需要注释才能看懂的,你以为他注释写的你能看懂吗?
wysnylc
2020-10-23 10:53:24 +08:00
@qiumaoyuan #74 学数学的时候恨不得注释多的拉满,到自己写代码就觉得注释麻烦没意义笑死了
Still4
2020-10-23 10:57:15 +08:00
@darktutu 需求变了,注释没改,我们这跟没写注释是一个原因,需求压力大,很多时候上午提需求晚上上线,谁想让后来人指着自己鼻子骂呢,时间不允许没办法,优先保证东西正常,注释都是想着后面再说,一拖就没影了
northisland
2020-10-23 11:04:26 +08:00
一行注释都没有的是垃圾;不分巨细,全注释的也是垃圾。

还是武侯祠「攻心对联」里的那一句“不审势,则宽严皆误”。

(但对于外行领导,想通过 5 分钟 code review 就深入理解我做的事情,目测领导也是垃圾。)
lk920724
2020-10-23 11:09:44 +08:00
这样想,没注释总比过期注释要好。

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

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

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

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

© 2021 V2EX