Linux之父:连你自己都懒得解释,那这就是一堆垃圾!

不出意外,Linus又开喷了,这次的激情开麦,源自一部分没有做注释的合并请求:Linux6.3内核收到了一部分合并请求,但这部分合并完全没有注释。

如果你懒得解释为什么存在一个合并,那这个合并从本质上来说就是错误的垃圾,这是每个开发者都应牢记于心的规则。我重复一遍:如果你不能解释清楚这个合并请求,那就不要做,就是这么简单。——Linus Torvalds

让Linus如此生气的代码注释,到底有啥用?

注释不仅展现了代码背后的逻辑,让我们在后期维护时能更容易阅读、理解代码,还能将授权许可、版权信息编写进去。此外,注释也有提示作用,如标记为FIXMETODO的注释往往表示待定的工作等等。

总之,代码注释告诉了我们为什么会写这样的代码。对Linus来说,收到的合并请求缺乏注释,因为没有合理的解释,代码不仅变得毫无意义,还会变得更难读、难维护。所以代码注释很重要,编写合理的代码注释更重要。
编写注释,快看这三不要!

1.不要花大力气编写注释,解释代码的每一个细节!

过多的注释会让源文件变得非常混乱,不仅会降低代码的可读性,还难以维护。(这种写大量注释的行为,也很难不让Linus发火。)

2.不要留不恰当的注释!

很多人会通过注释保存代码演变的历史记录,但这往往是无用功。一个热知识:版本控制系统可以保存历史记录。还有一些过时的、被废弃的、不正确的注释,一经发现就需要尽快更新或删除,不能再让这些废弃注释误导我们了!

3.不要犹豫!看到注释掉的代码,请直接删掉它!

对于那些不再使用的旧代码,大家可能下意识会直接注释掉,但直接干脆利落删除掉这些旧代码会更简洁。毕竟后期维护的时候,大家面对这些注释掉的代码只会敬而远之。

重构吧!

通过重构那些烂代码,可以摆脱不必要的注释:

  • 命名:比如将变量i重命名为numGoals,能明确意图。对于变量、方法以及类,我们都可以这样做;
  • 结构:如果某一段代码没有注释就无法理解,可以尝试更改代码结构;
  • 子表达式:将一个复杂的表达式拆分为多个子表达式,可以帮助大家更好地理解代码;
  • 断言:当我们遇到“当某个条件为真时,某段代码才能正常运行”的情况时,可以引入断言标明假设。

这样才能使注释更简洁、易看。

如何编写好的代码注释?

以下几个注释模式送给大家:

  • 文档注释模式:记录接口,而不是解释代码本身。
  • 脚注注释模式:主要用于描述为什么采用特定方法,短小精悍。通常在无法从代码中推断出此类信息的情况中使用。
  • 警告注释模式:警告开发人员注意某些特殊需求的注释,如:以超级管理员的身份调用函数。警告可能涉及安全或设计缺陷,注释可能包括TODOFIXME
  • 签名注释模式:注释中加上开发人员的首字母缩写。在团队中,我们可以更快速地找到相应人员讨论。
  • 编织代码模式:代码和文档结合在一起。需要首先编写文档,然后对该文档进行编码。

在Linus看来,写代码非常重要,写好的代码更重要。注释、命名、版式等代码规范检验的正是程序员最重要的基本功,如果基础不牢,必定地动山摇。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
林纳斯生于芬兰的赫尔辛基市,唯一的特点就是有一个大鼻子以至于他为了让鼻子看起来小一些就经常戴上眼镜不摘下来。从小到大不用怎么费力就能把数学物理学的很好,并且还有一项大部分黑客都没有的技能——善于社交。才怪。(这可是书中林纳斯的典型开玩笑的方式,哈哈,上当了吧。)事实上林纳斯也是不善于社交的,他把幼年的自己定位成书呆子(看完这本书和上周的《黑客与画家》我可丝毫不觉得书呆子是什么贬义词,有机会我也想成书呆子啊呵呵。)成天待在自己的小黑屋中摆弄着电脑,因此他母亲经常对外人说这孩子特别好养,只要把他扔到有电脑的小黑屋中再是不是偷食点薯条和意大利面就行了。林纳斯最早接触电脑是在他外公(一位统计学教授,数学家。)家里。那时的电脑唯一的功能就是没有功能,唯一能做的就是用 Basic 语言在上面编程,于是林纳斯从小就坐在他外公的腿上帮他那位眼花的外公在电脑上输入程序。渐渐地林纳斯能熟练的运用 Basic 语言编程了,而且与此同时他发现 Basic 不是电脑唯一能理解的语言,在此之下还有一种由0和1组成的直接被计算机识别的语言——机器语言。这也算是为林纳斯日后开发 Linux 系统奠定了一点的基础。然后林纳斯顺利进入中学,日子一切如常,依旧是个呆在小黑屋摆弄电脑的“书呆子”,由此他又升级了他打怪的装备,熟练掌握了汇编语言。随后又顺利进入大学,同时也出现了算是改变他一生的书《操作系统:设计和实现》,林纳斯说他在大学某个暑假里只做了两件事:“一件事是什么都没做,另一件事是读完了719页的《操作系统:设计和实现》。”那本书差不多等于睡在了林纳斯的床上。在林纳斯眼里,编程是世上最有意思的事情了,你想要什么规则都可以自己设定。你可以在电脑上创造属于自己的世界,你就是这个世界的上帝。编程时程序员优先考虑的往往是趣味性、美观性及震撼力,而非实用性。在代码的世界里,林纳斯就是个诗人。 作者:不断不断 链接:https://www.jianshu.com/p/d8e546c544e5 來源:简书 简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值