你是不是也写过这样的注释?
“这里加1是为了……”、“别动这段,会炸!”、“我也不知道为啥但能跑”……
别笑,这些看似无害的注释,其实正在悄悄暴露你的工程素养。
今天就来扒一扒,那些老手一眼就能识破、新人却乐此不疲的5类“毒注释”。
注释不是日记本:别写“我做了什么”
“2023-08-12 修改了登录逻辑” —— 这不是注释,这是 Git 的活。
版本控制系统(比如 Git)天生就是干这事的。
再写一遍,纯属冗余。
真正的注释,解释的是“为什么”,而不是“做了什么”。
如果你的代码提交信息写得清楚,根本不需要在代码里复述。
否则,就像在微信聊天里重复发三遍“我吃饭了”——没人想看 😅。
别用注释掩饰烂代码
“这段逻辑很绕,但先别动” —— 这句话等于举手投降。
资深工程师看到这种注释,第一反应不是“小心”,而是:“这人没能力重构”。
好代码自己会说话。
如果一段逻辑需要大段注释才能理解,那问题不在读者,而在作者。
与其写注释,不如拆函数、改命名、简化逻辑。
记住:注释是止痛药,不是手术刀。治标不治本,迟早复发。
别写“显而易见”的废话
“i++ // i 自增 1” —— 这种注释,不如删掉。
它不仅没用,还会分散注意力。
真正有用的注释,是解释那些“反直觉”或“违反惯例”的设计决策。
比如:“这里故意不用缓存,因为数据实时性要求高于性能”。
这种注释才有价值。
而“调用 getUser() 获取用户”?省省吧,变量名都比你诚实 👀。
别用注释当 TODO 清单
“TODO: 以后优化这里” —— 99% 的 TODO 永远不会被处理。
更糟的是,它们像代码里的垃圾贴纸,越积越多。
真正的工程师,要么立刻修,要么提 Issue,绝不把责任甩给未来的自己。
如果你真要留待办,至少加上负责人和截止时间:
“// @张三 2026-02-01 前替换为 OAuth2.0”
否则,就是自我欺骗。
别写情绪化/神秘主义注释
“千万别删!上次删了全站崩了!!!” —— 听起来像诅咒。
这种注释暴露的不是经验,而是对系统缺乏掌控力。
资深工程师的做法是:
- 如果真有历史坑,就写清楚上下文:“2024年因支付回调重试机制缺陷,此处需保持幂等”
恐惧驱动的注释,只会让团队越来越不敢动代码。
最后说句实在话
注释不是越多越好,而是越准越好。
GitHub 上一项对 10 万+ 开源项目的分析显示:
高质量项目中,注释密度反而更低——因为代码本身足够清晰。
Linus Torvalds 甚至说过:
“如果你的代码需要注释才能懂,那你应该重写代码,而不是写注释。”
当然,我不是反对所有注释。
好的注释像路标:不多,但关键路口一定有。
下次写注释前,先问自己:
“这段话,是帮别人理解,还是在掩盖我的懒?”
如果是后者——
删掉它,然后去重构代码。