如何看待程序员不写注释

如何看待程序员不写注释

大家好,我是Leo🫣🫣🫣,今天我们来聊一下关于代码注释的问题话不多说,让我们开始吧😎😎😎。

在开始阅读正文之前,你先想 3 个问题:

  1. 你平时写代码的时候会写注释嘛?
  2. 你的注释是怎么样写的,主要都表达些什么?
  3. 你一般会在什么样的代码里写注释?

好了,正文开始。

1.我对注释的看法

首先,我个人刚开始写代码的时候,非常喜欢写注释,我一般会把代码思路先用文字表述出来。然后分成 1 2 3 4 每一步要干什么,怎么干。

然后写完之后开始在每个步骤下边填代码,这个时期我的代码注释量是非常高的。

但是后来随着技术熟练程度的提高,以及代码水平的提高,我的注释量就逐渐减少了。

并不是我觉得自己牛逼了不用写代码了,也不是我想专门给后人挖坑,纯粹是我觉得不太有必要了。

因为一方面我认为当你可以写出相对比较好的代码的时候,你的代码就是你的注释,你的命名、你的日志以及你的单元测试等等所有东西会共同构建成你的完整注释,最终他们合在一起形成的注释远比你一字一句写出来的注释要更清楚更实用。

并不是只有 // 后写的才叫注释。

2.不写程序的后果(狗头)

我们来简单聊一聊之前的一个国外新闻

大家可能平时开开玩笑说,你不写注释可能被同事杀了,大家都当成一个笑话来听,但是当时美国程序员不写注释是真的在现实生活中上演。

以下内容来自网络。

据云头条报道,周三上午10点20左右,43岁的安东尼·汤(Anthony Tong)出现在办公室,拿出一把事先藏起来的半自动手枪开火。他在威斯康星州米德尔顿的这家公司工作了一年多。

工作人员纷纷逃离办公楼,跑到附近的公司避难。

行凶者随后向短短几分钟内赶到WTS Paradigm现场的警察开枪。四名警察随后开火,击中了嫌犯。嫌犯一送到医院就被宣布死亡。

WTS Paradigm的业务分析员朱迪·拉默斯(Judy Lahmers)说,当时自己正伏案工作,突然听到"像是有人把木板扔在地上,声音很响很响"。她赶紧跑出大楼,躲在一辆汽车后面。她告诉美联社:"我头也不回地拼命跑。你只想知道'该躲起来还是跑远?"

她不知道关于枪击案的任何其他信息,但表示"完全出人意料。我们都是搞软件的。我们是很好的团队。"

警方介绍,这名死者自去年4月以来一直在WTS工作,没有犯罪记录,枪击事件发生时独自作案。目前,没有任何迹象表明到底是什么原因引起这起流血事件。

从这这个新闻,来说说我的看法:

1、代码不规范,确实看着蛋疼,尤其命名看不懂时,接手过去的代码,要去猜测对方代码,可能只有事人才看得懂。所以一定要规范,在大公司写的不规范,别人会直接怼你的。搞不好就是对你能力怀疑。

2、代码这个事情,有些人有洁癖,容不得垃圾代码在项目中,那么什么代码是垃圾代码,如命名不规范,成员变量没有表示其含义,函数名字不能充分表示其功能,大量if else逻辑,一个方法几百上千行代码,这些都是不良的习惯。

3、git提交时,老是覆盖提交,没有解决冲突,还有一次性改100多个类文件,1周才提交,有些兼容特殊处理地方不写注释,只有上帝才看懂。

4、凶手几名同事,肯定没有看过《重构,改善既有代码的设计》这本书,推荐大家好好读一读。避免类似悲剧发生

当然,还有一种情况我是建议写注释的,那就是二笔产品非要提一个不合理的需求导致你有一个不合理的写法,这个时候我希望你能注明"不是我要这么写的,是产品需求要求这样的,我也没办法的"的无奈,免得下一任接受你代码的人骂娘,说你是个菜鸡。

好了,今天的内容就到这里了。

3.总结

以上便是本文的全部内容,本人才疏学浅,文章有什么错误的地方,欢迎大佬们批评指正!我是Leo,一个在互联网行业的小白,立志成为更好的自己。

如果你想了解更多关于Leo,可以关注下面这个公众号,后面文章会首先同步至公众号。

4.参考文章

相关推荐
AI大模型12 小时前
利用腾讯混元大模型搭建Cherry Studio自有知识库,打造“智能第二大脑”
程序员·llm·agent
文心快码BaiduComate1 天前
弟弟想看恐龙,用文心快码3.5S快速打造恐龙乐园
前端·后端·程序员
大模型教程1 天前
半小时部署企业智能问答系统!MaxKB让知识管理效率翻倍
程序员·llm·agent
AI大模型1 天前
告别数据隐私焦虑!我用FastGPT免费私有化部署了AI个人知识管理系统辅助写作
程序员·llm·agent
大模型教程1 天前
基于Dify的RAG知识库搭建
程序员·llm·agent
AI大模型1 天前
微软AI Agents入门课程爆火!GitHub星标破万,零基础构建AI智能体
程序员·llm·agent
SimonKing1 天前
除了 ${},Thymeleaf 的这些用法让你直呼内行
java·后端·程序员
小小前端_我自坚强1 天前
Tailwind CSS 详解
css·程序员·开源
陈哥聊测试2 天前
各角色如何从DevOps中受益?
程序员·自动化运维·devops
_大学牲2 天前
Flutter 之魂 GetX🔥(一)从零了解状态管理
前端·程序员