美文网首页程序员web前端学习互联网科技
没有对比就没有伤害,优秀的代码VS糟糕的代码

没有对比就没有伤害,优秀的代码VS糟糕的代码

作者: 烟雨丿丶蓝 | 来源:发表于2018-06-26 20:55 被阅读907次
image

可持续开发不仅在于项目架构设计,还与代码质量密切相关,代码的整洁度和质量成正比。—— Robert C. Martin, “Clean Code”

如果你还没有发现代码质量的区别,如果你从未见过优秀的代码,或者从未见过糟糕的代码,那么本文将以直观地对比,告诉你代码质量究竟会有多大的区别。

代码量

我们知道代码量显示着功能的复杂程度,例如Windows XP的代码量超过2000万行,Linux内核有1500万行(2012年)。然而代码量和功能数量之间并非线性关系。
优秀的设计中,代码量和功能数的关系是这样的:


image

糟糕的设计中,代码量和功能数的关系是这样的:


image
优秀的系统往往会有优秀的结构设计:层次清晰、职责单一、模块化,方便扩展或者复用。功能的添加往往只是在现有框架中添加少量代码。

相信还是有想要学习或者了解web前端编程的小伙伴,可以来我的web前端学习裙哦:575308719可以免费领取精品的web前端学习教程哦!

然而糟糕的设计中,层次混乱、互相耦合、难以阅读,既难以复用又不易扩展。每当被要求添加功能时,不得不几乎完整地实现整个功能的流程,并修复与原系统的所有兼容问题。

注释

优秀的代码中,注释是这样的:


image

糟糕的代码中,注释是这样的:


image
最愚蠢的程序员都能写出机器能读懂的代码,而优秀的程序员能写出人可以读懂的代码。
程序的注释是为了让人读得懂。多数优秀的代码中,注释几乎接近代码行数的一半,描述函数功能、解释参数配置、指出陷阱所在。而糟糕的代码中不仅不含这些注释,甚至会保留大量残余代码,可读性差又难以重构。

命名

优秀的代码中,命名是这样的:


image

糟糕的代码中,命名是这样的:


image
命名是为了让代码更加容易阅读,使用规范的术语不仅更加易懂,同时也是开发者知识水平和开发经验的表现。如果说以中文拼音命名显得奇怪,那么直接以a, b, c, d命名的便会显得可恨,谁记得你的a是神马东西!
看一个经典的例子,字符串替换:
image

稍微有点Java常识的便会想到正则表达式:
何必拷贝这一堆的代码给老板看呢?开发中确实有很多时候,直接拷贝代码既能立竿见影地完成功能,又不会影响原有功能。但这样的代码多起来之后,万一功能调整你便需要重新debug所有的副本。花一些时间学习更优雅的用法是值得的。

函数

保持函数的短小,使你的代码更加易读,例如:


image

将复杂的逻辑分步骤完成。如果写在一起将会是这样的:


image
相信我,一旦你写了这样的函数,它会随着时间的推移变得越来越长,直到有一天,你也忘了其中的一段代码到底是做什么的。
事实上,复杂的函数不仅可以按照步骤划分,更应按照层次来细化。不要在一个函数中进行不同层次的操作,否则它会变得非常难懂。

相关文章

  • 没有对比就没有伤害,优秀的代码VS糟糕的代码

    可持续开发不仅在于项目架构设计,还与代码质量密切相关,代码的整洁度和质量成正比。—— Robert C. Mart...

  • 没有对比就没有伤害,优秀的代码VS糟糕的代码

    可持续开发不仅在于项目架构设计,还与代码质量密切相关,代码的整洁度和质量成正比。—— Robert C. Mart...

  • 没有对比就没有伤害!

    告诉我你到底喜欢哪个? ++++++ 《西塘遗梦》 by前颜 恍如梦中的景象 墨色渲染了此刻的时光 时间显得...

  • 没有对比,就没有伤害!

    【0725我在悦读】放放 【书名】《爆款文案》 【作者】关健明 【篇目】激发购买欲望之认知对比 【收获】 很多时...

  • 没有对比,就没有伤害

    没有对比就没有伤害 背景:锦锦是我闺蜜,我们高一就认识了。她老公是高中同学,我老公是初中同学。锦锦的儿子比琳琳大半...

  • 没有对比就没有伤害!

    无论如何,只有懂得克制的人,生活才会获得幸福。--戈尔尼 《有钱人和你想的不一样》这本书是英国的作家写的,里面描述...

  • 没有对比就没有伤害

    人类是个群居的物种,谁也不能独立特行,超然于众,脱离社群的圈子泰然自处。哪怕你清高到想当一个隐士。无论是大隐隐是市...

  • 没有对比,就没有伤害

    高考录取成绩如期公布,今年有亲戚和朋友的孩子参加高考,所以就格外的留意了下。 先给亲戚的姐姐打个电话,探探情况。 ...

  • 没有对比就没有伤害

    今天上java me课,其他组都分析展示了自己项目,花间道组的养花功能很有创意,萌宝说的名字挺好,友时签的界面以及...

  • 没有对比就没有伤害

    周一下午例会,学校布置让用"社会主义核心价值观"来布置教室。别的老师都开始行动起来了,我还没有着手准备,因为我要准...

网友评论

本文标题:没有对比就没有伤害,优秀的代码VS糟糕的代码

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