首先承认我大学毕业时是一个糟糕的程序员。我获得了学位,学到了大量的书本知识,然后,我开始从事一个不平凡的项目,每天晚上花很多时间做简化。一开始,一切正常,但我的编码风格总是一团糟。复制、粘贴、糟糕的命名、乱七八糟的思路,总是使用长时间运行的方法来执行各种可以分离的任务。几个月后,我意识到了一个严峻的现实:该项目正在分崩离析。本来以为一个人开发可以避免混乱。但是最后不得不承认,这个项目被我搞的太乱了,维护不了,更别说理解了。尽管我的代码通常可以正常工作,但我在编码时确实会疏忽大意,因为我写的代码如果不仔细重构就没人能理解。那时,我是一个超级高效的技术债务创造者。你一定不想要那个。即使是一个简单的问题也会被糟糕的程序员复杂化。——SteveBohlen哇哦,史蒂夫在说我?我的早期项目很好地证明了这一说法。如果没有一个好的实现,即使是简单的逻辑也会变得晦涩难懂。早期的经验让我明白,是时候研究如何改进我的编码风格了。什么是干净的代码?代码整洁度是一种以读者为中心的开发风格,它生产的软件易于阅读、编写和维护。开发人员总是认为当应用程序正常运行时他们的工作就完成了。但我们不只是为计算机编写代码。编码是与另一个人交流您希望计算机执行的操作的艺术。–NonaldKnuth保持代码清洁首先要意识到您的读者不仅仅是计算机,他们也是人!记住这个原则,让我们讨论为什么代码整洁很重要的七个简单原因。1.你是个作家,你想让你妈妈觉得你很棒?告诉她你是个作家!作家是那些练习写作并以此为职业的人。开发人员每天都在写作。但是作为开发者,我们总是忘记,我们写的每一行代码都会被别人阅读十多次。这些人是我们的同事。他们阅读代码,忙于修复错误和添加新功能。伟大的作家以写出清晰、扣人心弦的故事而著称。他们使用章节、标题和段落等工具来组织他们的思想并耐心地引导读者。开发人员以类似的方式工作,但他们只是使用名称空间、类和方法的行话来讲述他们的故事。拥有干净代码的人可以巧妙地使用这些工具来降低复杂性并使故事更清晰。2.干净的代码是基础近年来,专业重构、单元测试、测试驱动开发等软件实践备受关注。这些实践提高了代码质量和软件可维护性。实施代码清洁原则是一项基本技能,其优势将在重构代码或单元测试代码时显现出来。干净代码原则使得源代码高度模块化,易于阅读和测试。如果这些软件实践是房子,那么干净的代码就是基础。3.证明你的技能假设你正在参加技术面试。如果你被问到代码质量,你能给出一个专业合理的理由来证明你的代码质量吗?或者,你会回答这个问题吗?如果这就是您对代码清洁度的全部考虑,那是一个不好的迹象。如果您从未以有条理的方式深入思考代码风格的质量,那么改进的机会很多。拥有干净代码的人可以教授他们使用的许多特定行为、模式和技术。但是,代码整洁终究不是偶然的,它需要可行的规律性,注重清晰表达意图。可以衡量的东西可以管理。——彼得·德鲁克建立干净代码的词汇表,不仅有利于面试和提高代码质量;此外,在代码审查期间建立每个人都认可的代码可读性词汇和框架可以促进平静的对话。4.阅读代码是最难的部分开发人员常常以能够解决难题而自豪。但是相对来说,写代码还是比较简单的,读代码是一件比较困难的事情。这就是EricLippert写道阅读代码很难的原因。这就是为什么这么多程序员宁愿重写也不愿阅读和理解现有代码的苦差事。由于阅读代码本身就具有挑战性,如果你在编写代码时勉强能看懂某些代码,那么之后你会发现根本看不懂。专业程序员编写的代码如此之多,以至于只需要几周的时间就可以忘记大部分结构和设计,就像从全新的角度看项目一样。自己的代码过段时间看不懂,真的很尴尬。相信我,我已经经历过好几次了。5.技术债务令人沮丧草率的代码会在我们的项目中埋下技术债务。在仔细考虑上下文时,技术债务也很有用,但过多的技术债务可能令人沮丧,并导致团队人才流失。当简单的事情变得复杂时,开发人员开始撤退并转向别处。比起工作量,他们更看重工作质量带来的成就感。技术债务减少了代码重用的机会,并在其他任何地方都降低了其他代码库的质量。6、你太懒惰了PERL语言的作者LarryWall说过程序员的三大美德:懒惰、缺乏耐心和自大。是的,在适当的情况下,懒惰可能是积极的。早些年,当我还在跌跌撞撞地编码时,我意识到保持代码整洁的努力确实得到了回报。专业开发人员努力做到懒惰。这种惰性就是把更多的精力放在代码上,这样一开始写起来不难,后面复用也不难。代码整洁并不需要花费很多时间,一旦掌握了这些原则,您实际上会更快地编写代码。因为简洁、表达良好的代码最大的好处就是便于管理。当人们处于压力之下时,很容易偷工减料并忽视最佳实践。然而,正如鲍勃马丁叔叔在他的《代码整洁之道》中提醒我们的那样:我们没有时间不认真。从长远来看,马虎导致的错误数量增加和后期维护成本最终会拖延项目的速度。历史经验告诉我们,你后面基本不可能有时间整理你的代码。那么为什么不一开始就做对呢?7.不要做那个动词好吧,所有其他的理由都有道理,但这一个是最重要的。我们都知道前同事的名字是如何变成描述“脏”代码的动词的:哎呀,那段代码是吉米写的。“哦,伙计,这个代码已经被吉米搞定了。”这样的评价简直就是长期就业前景的克星。我们都希望同事可以推荐或聘用我们担任未来的职位,不是吗?如果你想确保未来的同事会推荐你并期待与你和你的代码一起工作,让其他人知道你的代码是干净的是最好的方法。代码整洁的原则以下是代码整洁的三个核心原则:1.选择合适的工具2.优化信噪比3.尽最大努力编写不言自明的代码:编写代码向人们展示这三个原则有详细说明。如果您对提高代码质量、建立评论词汇表和编写干净的代码感兴趣,请查看!关于作者CoryHouse,软件架构师,独立顾问,Pluralsignht的作者,以及INETA英国社区发展大会的官方发言人。精通响应式网页设计、干净的代码和糟糕的高尔夫。原文链接:MichealShallop翻译:伯乐在线-Victoria翻译链接:http://blog.jobbole.com/61312/
