V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
labulaka521
V2EX  ›  程序员

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

  •  
  •   labulaka521 ·
    labulakalia · 2020-10-22 23:19:40 +08:00 via iPhone · 10265 次点击
    这是一个创建于 1494 天前的主题,其中的信息可能已经有所发展或是发生改变。
    刚入职不久,维护的心累,在别人的没有注释代码上加功能是真的难受

    怎么让大家对于比较复杂的逻辑习惯写上注释
    第 1 条附言  ·  2020-10-23 10:44:52 +08:00
    个个都说自已代码写的很优雅 结果一翻代码 ifelse 先循环个五六层 这就是所谓的优雅 算了 环境导致 就这样吧 自已写的 写好注释能让以后的自已或者别人看懂就行了
    127 条回复    2020-10-25 04:39:16 +08:00
    1  2  
    amwyyyy
        101
    amwyyyy  
       2020-10-23 14:26:16 +08:00
    实际上很多人的代码像屎一样,加注释也只是屎旁边多几只苍蝇,用处不大。
    得从代码规范开始,功能设计开始把关
    libook
        102
    libook  
       2020-10-23 14:30:40 +08:00
    这个得团队达成一致,并有技术经理通过 Code Review 等手段巩固执行,你可以向团队或者技术经理反馈这个问题。

    我们每天会抽出一个小时左右团队成员所有开发人员进行快速 Review,有的代码可读性低技术经理会提出来,要么改写法,要么加注释,做得多了团队成员会逐渐养成注意代码可读性的习惯。
    labulaka521
        103
    labulaka521  
    OP
       2020-10-23 14:43:34 +08:00 via iPhone
    @qiumaoyuan 反正我看过的作者为外国人的库基本注释很全 反观国内 没注释的占大多数 国内开发者确实牛逼 plus
    qiumaoyuan
        104
    qiumaoyuan  
       2020-10-23 15:01:34 +08:00   ❤️ 1
    @labulaka521 其实这帖子里不少朋友应该都一样,看到注释,甚至看到论坛里讨论“注释”的帖子,第一个反应是自己先改善代码,如果觉得代码还看不懂,就继续改善,改到能一眼看得明白为止,这样自然就变成了大家嘴里说的不需要注释的代码。
    不过这确实需要下一番苦功,铁了心这辈子(起码在整个职业生涯里)跟劣质代码死磕,不是短时间能成的。只是不要放弃就好。
    所以我的第一个回复就是“重构代码”,这是正视劣质代码存在的事实并试图改进,完全是积极处理问题的态度,而不是为不写注释的劣质代码找理由,这是两码事,不要混为一谈。注释在我看来只是一个信号,一个标示着劣质代码存在的信号而已。
    gaorenhua
        105
    gaorenhua  
       2020-10-23 15:02:05 +08:00
    其实大部分原因我觉得应该是国内外开发者的出发点不同,就好比国外的开源事业为什么比国内牛逼,中国人写一行 hello world 都想着赚钱。你还能指望写注释么?巴不得你都看不明白。久而久之,都这样了。工匠精神缺失。
    springz
        106
    springz  
       2020-10-23 15:18:38 +08:00
    我赞成业务代码不写注释或者少写注释,你看的项目有问题,有可能区分对待国外开发者看基础库,国内开发者看业务库。
    springz
        107
    springz  
       2020-10-23 15:19:16 +08:00
    业务代码大多数情况下你写了还不如不写,快速迭代下每一个注释都是雷。
    springz
        108
    springz  
       2020-10-23 15:20:38 +08:00
    可以用 CI/CD 加检查来禁止 magic number 之类的常见的造成代码不可读的写代码的方式。
    arnoldxiao
        109
    arnoldxiao  
       2020-10-23 15:55:46 +08:00
    代码比注释更重要
    ren2881971
        110
    ren2881971  
       2020-10-23 15:58:31 +08:00
    说实话团队合作时候 不更新的注释还不如不写。。。 各种误导人。 坑爹。
    suyuyu
        111
    suyuyu  
       2020-10-23 16:25:57 +08:00
    我的注释是用来发牢骚的
    PhpBestRubbish
        112
    PhpBestRubbish  
       2020-10-23 17:10:01 +08:00   ❤️ 1
    网上:别人写的代码都是一坨翔
    现实:这里已经有几个 if/else 我再加几个 if/else 没什么问题
    leafre
        113
    leafre  
       2020-10-23 17:16:57 +08:00
    哪有时间写注释
    leafre
        114
    leafre  
       2020-10-23 17:18:45 +08:00
    应该让代码具有可读性,而不是读注释
    crasa
        115
    crasa  
       2020-10-23 17:58:16 +08:00
    @amwyyyy 就冲着你这条回复,我把帖子收藏了🚬
    namelosw
        116
    namelosw  
       2020-10-23 21:40:44 +08:00
    我司标准不写注释

    其实所有人坚持都不写注释就会发现其实比写注释强
    fansangg
        117
    fansangg  
       2020-10-23 23:14:35 +08:00
    注释有什么好写的?
    你公司业务逻辑很复杂?
    我这边做移动端和前端,从业那么久一般都只有类名写几个注释表示这个类是干啥的,然后网络请求会写写是哪个接口,自己造的轮子可能一些变量会加个注释
    iwh718
        118
    iwh718  
       2020-10-24 00:59:04 +08:00 via iPhone
    后端小白疑惑 ifelse 多了有啥问题吗
    xupefei
        119
    xupefei  
       2020-10-24 01:22:07 +08:00 via iPhone
    我司的代码很少有注释,大家都用命名了解逻辑。你说垃圾同事写垃圾代码?我司没有垃圾程序员😂
    b00tyhunt3r
        120
    b00tyhunt3r  
       2020-10-24 02:05:45 +08:00
    @leafre
    @xupefei
    @qiumaoyuan
    我觉得你们眼中只存在一种情况:垃圾程序员写的垃圾代码造成垃圾注释,
    但是完全没想到另一种情形:大神程序员写的大神代码,没有注释,你恐怕看不懂。
    kajweb
        121
    kajweb  
       2020-10-24 05:25:59 +08:00
    @iwh718 给你看看我刚写的前端代码。
    ![垃圾代码.png]( https://i.loli.net/2020/10/24/CZ5m38crMqYEuyW.png)
    看了之后是不是想吐。
    虽然知道写的质量很差,但是不知道应该怎么改……
    jatai
        122
    jatai  
       2020-10-24 08:50:18 +08:00 via Android
    笑, 不写注释就是为新员工准备的, 如果每个新进小白刚来公司都能轻易替代老员工, 你让老板怎么想 🐶
    qiumaoyuan
        123
    qiumaoyuan  
       2020-10-24 22:14:50 +08:00 via Android
    @b00tyhunt3r 嗯。你说的大神不需要团队合作,自然不需要别人看懂。需要团队合作的“大神”写的代码如果能让别人看不懂算哪门子大神?
    少点 YY 吧。无非看了些别人炫技的代码就以为人家是大神了。然后抄着在项目里到处用,搞得整体系统无法维护很开心?
    真的大神写的代码平淡无奇,每个人都觉得代码本来就是应该那么写的,但很可惜轮到自己写的时候,多数人写不出来平淡无奇的代码,这才是现实。
    b00tyhunt3r
        124
    b00tyhunt3r  
       2020-10-24 23:39:53 +08:00 via iPhone
    @qiumaoyuan
    “需要团队合作的“大神”写的代码如果能让别人看不懂算哪门子大神?”

    所以大神才写注释教你啊
    qiumaoyuan
        125
    qiumaoyuan  
       2020-10-24 23:53:34 +08:00 via Android
    qiumaoyuan
        126
    qiumaoyuan  
       2020-10-25 00:05:15 +08:00
    @b00tyhunt3r 跟人对话之前先理解对方在说什么是起码的礼貌。
    kwrush
        127
    kwrush  
       2020-10-25 04:39:16 +08:00
    我司也不写注释,之前的公司写的多一点。不过我觉得注释应该是解释为什么要这么写,实际情况下很少碰到需要解释代码的情况,大部分是因为 hack 或者 TODO 。描述代码干了什么的注释没有意义,除非逻辑复杂难懂,那应该考虑重构了
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2942 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 00:40 · PVG 08:40 · LAX 16:40 · JFK 19:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.