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

3e60000288ca779b48a3

可持续开发不只在于项目架构设计,还与代码质量密切相关,代码的整洁度和质量成正比。—— Robert C. Martin, “Clean Code”
若是你尚未发现代码质量的区别,若是你从未见过优秀的代码,或者从未见过糟糕的代码,那么本文将以直观地对比,告诉你代码质量究竟会有多大的区别。
代码量
咱们知道代码量显示着功能的复杂程度,例如Windows XP的代码量超过2000万行,Linux内核有1500万行(2012年)。然而代码量和功能数量之间并不是线性关系。
优秀的设计中,代码量和功能数的关系是这样的:
3e630002b8bc02b2b1a9前端

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

优秀的系统每每会有优秀的结构设计:层次清晰、职责单1、模块化,方便扩展或者复用。功能的添加每每只是在现有框架中添加少许代码。
然而糟糕的设计中,层次混乱、互相耦合、难以阅读,既难以复用又不易扩展。每当被要求添加功能时,不得不几乎完整地实现整个功能的流程,并修复与原系统的全部兼容问题。
注释web

优秀的代码中,注释是这样的:
3e60000288f688b20e9c正则表达式

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

糟糕的代码中,命名是这样的:
3e630002b90262bf1fe8架构

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

稍微有点Java常识的便会想到正则表达式:
何须拷贝这一堆的代码给老板看呢?开发中确实有不少时候,直接拷贝代码既能立竿见影地完成功能,又不会影响原有功能。但这样的代码多起来以后,万一功能调整你便须要从新debug全部的副本。花一些时间学习更优雅的用法是值得的。
函数
保持函数的短小,使你的代码更加易读,例如:
3e600002896da0a04c0c模块化

将复杂的逻辑分步骤完成。若是写在一块儿将会是这样的:
3e6500011e12f15f0565函数

相信我,一旦你写了这样的函数,它会随着时间的推移变得愈来愈长,直到有一天,你也忘了其中的一段代码究竟是作什么的。
事实上,复杂的函数不只能够按照步骤划分,更应按照层次来细化。不要在一个函数中进行不一样层次的操做,不然它会变得很是难懂。学习

相信仍是有想要学习或者了解web前端编程的小伙伴,能够来个人web前端学习裙哦575308719能够免费领取精品的web前端学习教程哦!
相关文章
相关标签/搜索