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

Posted 禅道程序猿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux之父:连你自己都懒得解释,那这就是一堆垃圾!相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

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

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

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

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

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

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

重构吧!

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

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

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

如何编写好的代码注释?

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

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

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

如何选择自己喜欢的书籍?

现在的书籍实在太多,但参差不齐,好书的确不多,如何选择适合自己的好书,颇为困难。读书势必涉及到选书,我把自己的一些经验经历分享给你,希望能带给你一些帮助。

很多人说,我不读书,但我相信你肯定会买书,咱先不说读书的事,买书总得选择吧,你总不想买一堆垃圾吧,万一哪天高兴了想看一会呢?

我有办法,帮你选到好书。


一、亲自体验;

1、知识付费平台:

知识付费平台,我常用的是得到、极客时间、樊登读书,那上面有很多牛人,他们的课程很精彩,书籍也同样棒,书籍和课程有不少是雷同的,但是书明显更系统、更完整。

如吴军老师的《浪潮之巅》、《数学之美》、《信息传》、《文明之光》、《全球科技通识》;薛兆丰老师的《薛兆丰的经济学讲义》;香帅老师的《香帅的金融学讲义》;刘建国老师的《知行.技术人的管理之路》;刘润老师的《每个人的商学院》系列8本、《商业简史》;樊登老师的《读书是一辈子的事》、《读懂一本书》、《低风险创业》等,及其推荐的好书,非常多。

2、微信公众号:

我关注了不少微信公众号,有很多文章写的很不错,像“春暖花开”、“刘润”、“辉哥奇谭”、“笔记侠”、“罗辑思维”、“华章管理”等,因为长期阅读彼此建立了一种信任,个别公众号的作者也会写书,或者推荐书籍,这些书同样很有价值。

如“春暖花开”是陈春花老师的公众号,她的系列书籍,《激活组织》、《激活个体》、《共生》、《管理的常识》、《经营的本质》、《领先之道》等,都不错;“辉哥奇谭”公众号作者张辉的《人生护城河》,也很有启发;“刘润”公众号刘润老师的书,也很受欢迎。

3、那些读过的书:

那些读过的书,我们了解作者和他们的观点,因为很多作者都不止出过一本书,如果读过作者的某一本书,觉得很有深度和启发,那么他的其它书籍也应该不错。

我个人比较喜欢读管理类的书,德鲁克大师,我买了他的第一本书《管理的实践》,感觉非常好,我就接着买了好多他的书,每本书基本上都是经典;克劳士比的《质量免费》,我通过这本书了解了他的思想,我就把质量管理这个行业的大师著作都买了一些,朱兰的《朱兰质量手册》、戴明《戴明的新经济观》和《戴明管理思想精要》,还有很多;史蒂夫柯维的《高效能人士七个习惯》,我通过这本书又买了他的《要事第一》。

二、选书的秘诀;

有很多书籍需要我们综合分析,那些经典类的书籍选择起来还好,相对比较容易,但是那些工具类的书籍,比如说与自己的工作领域强相关的书籍,或者与自己的爱好强相关的书籍,就不好选择。

针对通用类书籍和工具类书籍,我推荐几种办法,大家可以借鉴。

通用类的书籍:

1、经典书籍:

那些经得起岁月洗涤的经典书籍、世界名著,它们能流传到今天必然有着旺盛的生命力。

2、名人著作:

我买的书有一半是根据作者的名气买的,因为作者的名气就是书籍的背书。比如管理学大师德鲁克先生、陈春花老师、史蒂夫.柯维等;计算机语音识别专家吴军老师;质量管理大师克劳士比、戴明、朱兰;历史学家钱穆;投资大师巴菲特、查理芒格;作家余华;成功学大师卡耐基等等;

3、书版社;

有一些书版社,出版的书基本上都是比较靠谱的,不管是书籍内容、纸张材质、排版设计都堪称一流,比如说华章书版社的华章经典系列,相对都比较不错;机械工业出版社也不错。另外,一些知识付费平台也会跟提供知识服务的专家们联袂出版书籍并发售,内容和质量都非常不错,我的好多书籍也是通过这种方式购买的,比如薛兆丰老师的《薛兆丰经济学讲义》;香帅老师的《香帅的金融学讲义》;刘润老师的《每个人的商学院》、《商业简史》等;

工具类的书籍:

1、专家推荐;

每个行业都有一些专家和大佬,我们可以看看他们都推荐哪些读物,不妨记录下来,做为选择书籍的参考。

2、亲自调研;

首先看一下书籍的推荐序和自序,基本上就把一本书的概要了解了,重点看谁推荐了这本书及他们的推荐内容;

其次,阅读下书籍的目录和结构,并且结合作者的自序,这样就能激发你对书籍的兴趣了,这时候基本上已经决定看这本书了;

最后,搜索下关于这本书的评论,看下大家是怎么看待这本书的,这样对比印证下自己的判断和选择,是否存在偏差。

3、大胆选择;

书籍写的好不好只有自己阅读了才知道,书籍需要与读者的年龄、阅历、见识相匹配上,让读者产生共鸣,那才是好书,最起码是值得当下读的书,所以一定要大胆选择。所谓的好书籍,不代表就能读进去,就能读出感觉,读者要结合自己的需求、目标和情景去选择。


三、选书读书的经历分享;

我的选书和读书经历很有启发性,分享给大家:

阶段一:测试类书籍(择书读书一定要有目的性

最开始我因为学习测试技术,所以买了很多测试技术类的书籍,目的非常明确。因为可选择的书籍不多,基本上测试类的书籍都买了,有的书确实写的好,而有的书则写的一般,个别书籍甚至常读常新,这些工具书没什么好说的,只能自己一本一本筛选了,各类在线书籍平台的排名都有一定的主观性,仅仅可以参考。

在刚阅读的时候,即使是一本普通的书,我们也可能会觉得写的很好,但是随着自己知识的积累和能力的提升,再回头看的时候反而会觉得写的一般了,这个确实如此,因为你的境界和能力提升了。

阶段二:质量管理类书籍(择书读书一定要有好奇心

之后我工作中遇到了一些困扰,我始终搞不明白测试和质量的关系,于是我开始了质量管理类书籍的学习,这其实就是一种好奇心。

我把经典类的质量管理书籍也买了一些,同时又买了一些自认为还不错的相关书籍,大概有十几本,一股脑的又读完了。因为那时候真的是有需求、有目标,特别想搞清楚质量是怎么回事,现在我却不怎么读那些书了,因为现在的需求变了,之前很喜欢的书籍再次阅读甚至读不进去了,不知道大家是否有同感。

阶段三:企业管理类书籍(择书读书一定要有全局性

后来我的想法又有一些改变,我认为了解质量还不够,因为在企业里,质量也仅仅是一个部分,我希望从更高维度、更全局的层面来分析问题。

我就又开始了企业管理类书籍的阅读,买了非常多的书籍,也看了很多,差不多有二三十本,总算有了一些思路,也找到了解决问题的一些办法,真的受益匪浅。

阶段四:通识类书籍(择书读书一定要有交叉性

企业管理非常的深奥,但是它毕竟更大更广,对于我自己来说,进一步提升自己的综合能力非常有必要,所以我把视角缩小,集中在通识类教育上,因为我觉得分析问题和思考问题需要从多个角度入手,这样才能更完整,也就是我一直认为的交叉思考。

于是我开始了新的涉猎,哲学、历史、经济、科学、文学等行业的书籍,都有阅读,这些交叉学科书籍的阅读对我的帮助很大,让我拥有了多维度的思考方式,突然看明白了很多事情。


总之,读书是很有意义的一件事,这个道理大家都懂,但是感觉身边读书的人很少,真的很令人叹息。

书籍要靠自己读,人生要靠自己过。

 

 

以上是关于Linux之父:连你自己都懒得解释,那这就是一堆垃圾!的主要内容,如果未能解决你的问题,请参考以下文章

Linux之父是个果粉:给自用M2 Mac装上Fedora Linux,除了图形加速和Chrome都搞定了...

狠起来连自己都不放过?Linux 之父“吐槽”自家的NTFS驱动程序

1 .shell编程1~5

1 .shell编程1~5

如何选择自己喜欢的书籍?

如何选择自己喜欢的书籍?