• 请不要在回答技术问题时复制粘贴 AI 生成的内容
labulaka521
V2EX  ›  程序员

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

  •  
  •   labulaka521 ·
    labulakalia · Oct 22, 2020 via iPhone · 11777 views
    This topic created in 2042 days ago, the information mentioned may be changed or developed.
    刚入职不久,维护的心累,在别人的没有注释代码上加功能是真的难受

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

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

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

    所以大神才写注释教你啊
    qiumaoyuan
        125
    qiumaoyuan  
       Oct 24, 2020 via Android
    qiumaoyuan
        126
    qiumaoyuan  
       Oct 25, 2020
    @b00tyhunt3r 跟人对话之前先理解对方在说什么是起码的礼貌。
    kwrush
        127
    kwrush  
       Oct 25, 2020
    我司也不写注释,之前的公司写的多一点。不过我觉得注释应该是解释为什么要这么写,实际情况下很少碰到需要解释代码的情况,大部分是因为 hack 或者 TODO 。描述代码干了什么的注释没有意义,除非逻辑复杂难懂,那应该考虑重构了
    1  2  
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3598 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 84ms · UTC 04:54 · PVG 12:54 · LAX 21:54 · JFK 00:54
    ♥ Do have faith in what you're doing.