美文网首页代码改变世界
这 5 个让人窒息的烂代码,你看完都忍不了

这 5 个让人窒息的烂代码,你看完都忍不了

作者: 华为云开发者联盟 | 来源:发表于2021-01-12 09:41 被阅读0次

摘要:下面就为大家带来个人认为的常见的烂注释风格。

相信作为程序员的大家,只要写代码,就会自己写及看到别人写的代码注释。所以,我们往往会遇到“百花齐放,百家争鸣”般的注释。程序员最讨厌的10件事,0:写注释,1:别人不写注释。

作为一个老IT人,看了那么多年代码,也就看了那么多年注释。可以说,好代码不一定有好注释,但烂代码基本和烂注释共存。下面就为大家带来个人认为的常见的烂注释风格,希望能对大家在日后的工作中,带来一丝丝的帮助。排名不分先后:

1.注释上带联系方式,TODO事项,问题单需求链接等。这种风格其实体现了工程师没有意识去利用好现代的平台技术,还停留在90年代的编码习惯。2020年了,git类软件已经是软件开发的首选代码托管平台了,问题单需求链接和联系方式的最佳位置应该是Git的提交日志上,TODO事项应该使用Git的issue管理。这种注释看到就应该删掉。例如以下两种注释

2.注释上带有一部分设计内容。这些内容最大的问题是,没人知道它是真是假,更没人知道它是否完整,删掉了吧,又有点可惜,万一有点用呢?不删吧,又看着不舒服。出现这种问题的最大原因是,团队内没有太好的地方承载这类文档。2020年了,可以试试Github的pages平台。

3.注释上写how,而不是why。这种大家都很清晰了,一致认为是不应该的。就不多说了,参考下面的例子

4.对代码的使用说明,例如方法如何调用,各项参数的说明,会抛出什么异常。例如以下的例子便是。有空写这种注释,还不如把测试用例写好,通过用例来告诉用户应该如何使用。

5.代码某种算法的特殊说明,这种比较有争议性,严格来说,不算是烂注释,但如果这种注释没有严格和代码一起管理(例如改了代码要同步改注释),那么这种注释就没有好过有了。所以这虽然严格来说是一个管理原因,但2020年了,我更推荐把这种注释写到提交日志上。怎么说呢?以Git的这段提交来说明这个问题,这段提交只设计到一个变量的非null判断,很多人可能就直接提交了,有些人也会在代码上加上注释,阐述为什么要做这个非null判断,但作者最终是选择了在提交日志上阐述这段逻辑,而且足足写了20行(刨去一些个人签名,有效行数也很多),想象一下把这20行写到代码中,会对代码的阅读产生多大的影响呀?但不写,又会对后面的维护带来问题。

本文分享自华为云社区《我的注释我做主》,原文作者:周大仙人 。

相关文章

  • 这 5 个让人窒息的烂代码,你看完都忍不了

    摘要:下面就为大家带来个人认为的常见的烂注释风格。 相信作为程序员的大家,只要写代码,就会自己写及看到别人写的代码...

  • 《地球最后的夜晚》观后反思

    今晚去看了《地球最后的夜晚》,看完整个人蒙了,这个片子简直烂到极致 烂的同时也让人很恶心,就是让你看一个人吃苹果都...

  • 渣男的爱情

    如果你哭了,我就呵呵不出来。 你倒是哭啊,让我输了一青春。 爱情这东西,我这烂人不配啊! 保护不了你,看着你受伤;...

  • 对不起

    忘不了,忍不了,受不了 直到心脏停止跳动,我会一直强撑着的 窒息的感受虽然不好受,为了能让你放心 我会不来找你的,...

  • 女孩

    女孩 让我吻你 哪怕拥抱就是别离 深埋在一份爱恋中 爱恋让人窒息 窒息 这愉悦的窒息 我不会再来 我已吻过你的一切

  • 转载:谁都忍不了烂代码,如何用重构的方式让它整洁起来?

    原文地址:这里 “整洁的代码简单直接。整洁的代码如同优美的散文。整洁的代码从不隐藏设计者的意图,充满了干净利落的抽...

  • _(:3 」∠ )_

    你会有多能忍? 这黑夜都忍受了不了路边的灯光 把你远处的光景一点一点吞噬掉 你会有多心烦? 这深夜都厌烦了每天过往...

  • 日更150天了

    截至昨天,我已经坚持日更150天一一整整5个月了。当初以为连一个月都坚持不了的,如今看到这“累累战果”,心里还是忍...

  • 看完这5个故事,让你恍然大悟

    1、《前世今生》 从前有个书生,和未婚妻约好在某年某月某日结婚。到那一天,未婚妻却嫁给了别人。书生受此打击, 一病...

  • 看完git让你这辈子都忘记不了

    Git 安装和使用教程 Git介绍 分布式:Git版本控制系统是一个分布式的系统,是用来保存工程源代码历史状态的命...

网友评论

    本文标题:这 5 个让人窒息的烂代码,你看完都忍不了

    本文链接:https://www.haomeiwen.com/subject/mbdsaktx.html