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

作者 : 开心源码 本文共1144个字,预计阅读时间需要3分钟 发布时间: 2022-05-11 共69人阅读

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

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 没有比照就没有伤害,优秀的代码VS糟糕的代码

发表回复