代码整洁之所以重要的七个理由

再简单的问题,一个糟糕的程序员都能把它变复杂。——Steve Bohlen


代码没有良好的风格,没有良好的实现,再简单的逻辑都能变得晦涩难懂。改进代码风格,对于项目的开发、维护起到至关重要的作用。

什么是整洁的代码?
代码整洁是一种以读者为中心的开发风格,以此开发的软件易于读写和维护。开发人员总以为他们的工作在应用程序能够正常运行时就完成了。但是我们编写代码,并不只是为了给计算机用。

编码是一种和另外一个人交流你希望计算机做什么的艺术。–Nonald Knuth

保持代码整洁,首先要意识到你的读者不只是计算机,还是活生生的人!牢记这个原则,我们来讨论代码整洁之所以重要的七个简单理由。

1. 你是个作家

想让妈妈觉得你很厉害?告诉她你是个作家!作家就是那些练习写作并以此为职业的人。开发人员每天都在写。但是作为开发人员,我们总会忘记我们写的每一行代码都会被人阅读十遍以上。这些人,就是我们的同事。他们阅读代码,忙着修复漏洞和添加新的特性。

卓越的作家以写叙述清晰、扣人心弦的故事著称于世。他们使用诸如章节、标题和段落等工具,有条理组织他们的想法,并耐心的引导读者。开发人员的工作模式也很类似,只是他们简单的使用命名空间、类和方法这些行话来讲述故事罢了。
代码整洁的人能够聪明使用这些工具来降低复杂度,使故事变得清晰。

2. 代码整洁是基础
近年来,专业的重构、单元测试、测试驱动的开发等软件实践备受关注。这些实践提升了代码质量和软件的可维护性。实现代码整洁的原则是一项基本技能,它的优势会在进行重构代码或者对代码进行单元测试时显现。代码整洁的原则使得源代码高度模块化并且易于阅读和测试。如果将那些软件实践看作是房子的话,整洁的代码则是地基。


3. 证明你的技能
假设你正在参加一场技术面试。如果被问到代码质量,为证明你的代码质量,你能够举出专业且合理的理由吗?你会回答“加注释么”?
如果这就是你关于代码整洁所能想到的,那可是个坏兆头。如果你从未有条有理的深入思考过代码风格的质量问题,那么你可以改进的机会估计很多。代码整洁的人能够传授很多他们使用的具体行为、模式和技巧。但是,代码整洁毕竟不是偶然现象,它要求可行的规律的专注于清晰的表达意图。

能够被衡量的东西,都能被管理。—— Peter Drucker

建立一个整洁代码的词汇表,不仅有利于面试和提升代码质量;而且,在代码审查时,建立大家公认的代码可读性的词汇表和框架,能够促进冷静的对话。

4. 读代码才是难事

开发人员常以能够解决难题为傲。不过相对来讲,写代码比较简单,读代码才是件难事。这就是为什么 Eric Lippert 写文章说阅读代码很难。这也是为什么这么多的程序员宁愿重写,也不愿做阅读和理解已有的代码这种苦差事。既然看代码原本就很挑战,如果一些代码你写的时候都只能勉强理解,你会发现过后你一点都看不懂。专业的程序员写了太多的代码,以至于只要间隔几周,就能忘记大部分的结构和设计,像以全新的视角看这个项目。过段时间看不懂自己的代码确实是很尴尬的事。

5. 技术债务让人沮丧

马虎混乱的代码会给我们的项目埋下技术债务。仔细考虑情境时,技术债务也会是有用的,但是过度的技术债让人沮丧,并且会导致团队的人才流失。当简单的事情变得复杂时,开发人员就会开始撤退去别的地方了。他们更看重工作质量带来的成就感,而不是工作数量。技术债务会降低代码重用的机会,并且处处拉低其他代码库的质量。


6. 你太懒惰

PERL语言的作者Larry Wall说过程序员的三大美德:懒、缺乏耐心、自大。是的,在合适的情境中,懒惰确实是积极因素。早些年,当我还在跌跌撞撞的写代码的时候,我认识到保持代码整洁所付出的艰辛真的会得到回报。专业的开发人员努力做到正确的懒惰。这种懒惰是把更多的精力放到代码中,以至于开始时不难写,以后也不会难以重用。代码整洁不会多花费很多时间,而且一旦你掌握这些原则,你的编码速度实际上会更快。因为精炼的、表达充分的代码最大的优点就是易于管理。

人们处于压力中时,容易偷工减料并且忽略最佳做法。然而像Bob Martin大叔在他的《代码整洁之道》中提醒我们的那样:我们没有时间不认真。长远来看,马虎草率所增加的出错次数和后期的维护代价,最终会拖延项目速度。历史经验告诉我们,后期你基本不可能有时间再去整理你的代码。所以为什么不在一开始就好好做呢?


7. 不要成为那个动词

好吧,其他的原因都解释的站得住脚,但是这个理由最关键。大家都知道前同事的名字变成动词来描述“脏”代码的事:糟糕,这些代码是Jimmy写的。“Oh man, this code has been Jimmy’d.”

这样的评价,简直就是长远就业前景的克星啊。我们都希望未来的职位上,同事能够推荐或者录用我们不是吗?想要确保今后同事会推荐你,并且期待和你以及你的代码合作,让别人知道你的代码整洁是最好的方式。


代码整洁的原则

以下是代码整洁的三个核心原则:

1. 选择正确的工具

2. 优化信噪比

3. 尽最大努力写出能够自解释的代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值