JavaRush /Java 博客 /Random-ZH /如何编写干净的代码

如何编写干净的代码

已在 Random-ZH 群组中发布
让你的代码干净漂亮是按时完成任务的好方法。罗伯特·马丁 (Robert Martin) 的一句话一语中的:“代码质量的唯一真正衡量标准是 What-The-F**ks/Minute 单位”“原文)。 如何编写干净的代码 - 1让我解释一下这意味着什么。每次我检查代码时,我的大脑都会经历以下三种情绪之一:
  • “什么鬼?!有没有搞错?!” (厌恶地)-不是这样......一切都很糟糕......
  • “什么鬼?!有没有搞错?!” (钦佩) - 嗯,一个聪明人做到了!
  • “什么鬼?!有没有搞错?!” (愤怒地)-某种混乱,我们到底在说什么?!
那么什么是最重要的?当我们看到一些代码时,我们到底要评估什么? 就是这样:它的纯洁和美丽。能够编写干净漂亮的代码是一个高度专业的开发人员的标志。 这项技能的培训基于两个组成部分——知识和工作。知识教你模式、原则、实践、启发法。您需要他们的专业成长。只是你必须像海绵一样通过不断的练习和努力来吸收这些知识。简而言之,编写干净的代码并不容易。这是一项艰苦、艰苦的工作,你必须付出努力。通过反复试验,您将通过一遍又一遍地重复相同的步骤来改进,直到找到您想要的解决方案。根本没有更简单的方法。以下是一些提示,可帮助您学习如何编写干净的代码。

名字里有什么

肯德里克·拉马尔(美国嘻哈艺术家 - 编者按)曾经准确地指出:“如果我要讲述真实的故事,我必须从我的名字开始。” 软件开发领域的名字随处可见。我们命名函数、类、参数、包、程序——一切。我们命名源文件和参考书以及与之相关的所有内容。我们无休止地命名事物,这成为创建干净代码的关键部分。你给某物起的名字应该反映其意图。找到一个好名字并不容易,需要时间,但当你必须处理代码并且情况变得复杂时,它也可以节省大量时间。因此,请小心此过程,如果您发现更合适的名称,请不要害怕稍后更改名称。每个处理你的代码的人都会非常感激你。

请记住,任何变量、类、函数的名称都必须回答三个主要问题:它(变量、函数等)为何存在、它的作用以及它的用途。

这不仅需要良好的描述能力,还需要普遍的学识和广阔的视野。没有人比你自己更能教你这一点。

干净的代码

“一个功能”——一件事

路易斯·亨利·沙利文(美国理性主义和现代主义建筑师)曾说过一句名言:“功能决定形式。 ” 他这样说是关于房屋的建筑,但这并没有改变本质。每个系统都是基于程序员创建的某种特定于领域的语言来准确描述它的。函数充当语言的动词,类是名词。大多数情况下,函数在编程语言的组织中至关重要,正确编写函数是创建良好代码的本质。编写质量函数只有两条黄金法则:
  1. 它们应该很小
  2. 他们必须做一件事、一项任务,而且要把它做好
也就是说,您的函数应该很小并且不应该包含嵌套结构。因此,函数缩进级别不应超过一到两级。这种方法使代码更容易阅读、理解和理解。此外,我们必须确保函数内的表达式处于同一抽象级别。在函数中混合抽象级别总是会造成很多混乱,并最终导致代码难以管理。最好的程序员将函数视为要讲的故事,而不仅仅是要编写的代码。他们使用所选编程语言的工具来创建丰富、富有表现力且简洁的代码块,这些代码块本质上可以充当出色的讲故事者。

“注释并不能弥补糟糕的代码”

美国网球运动员、五届温网冠军维纳斯·威廉姆斯说得一针见血:“每个人都留下了自己的评论。谣言就是这样出现的。 ” 评论就像一把双刃剑,一个恰到好处的评论是非常有用的东西。另一方面,没有什么比无聊、无用的评论更能让空间变得混乱的了。但最具破坏性的评论是那些传播错误信息和谎言的评论。简而言之,评论是一种必要之恶。并非总是如此,但在大多数情况下。为什么?很简单,注释越旧,维护起来就越困难,而且正如您所知,大多数程序员并不总是随着代码的更改而更改注释。代码会移动和发展。部分代码来回移动,但没有注释。这成为一个问题!

请记住:干净、清晰且带有少量注释的代码比复杂、混乱的代码要好得多。不要浪费精力去解释你在评论中造成的混乱。最好花时间清理那些烂摊子。

干净的代码

“代码格式化始终是首要任务”

这句话的作者不是别人,正是罗伯特·C·马丁 (Robert Cecil Martin),他又名鲍勃大叔、开发人员、许多软件开发书籍的作者、顾问、敏捷宣言的合著者等等。他补充道:“格式化代码是一种沟通。对于任何专业开发人员来说,沟通都是重中之重。” 上述说法不应被低估,因为它道出了优秀开发人员最重要的特征之一。格式化代码可以让你深入了解你的想法。我们希望以我们的整洁、对细节的关注、清晰组织和表达我们思想的能力给人们留下深刻的印象。但是,如果人们在查看代码时看到某种混乱,让人想起油醋汁,既没有开始也没有结束,这就会抵消你的努力并降低开发人员的声誉。甚至不要怀疑!如果您认为这个行业的主要事情是“代码可以正常工作”,那么您就与事实相去甚远了。您今天创建的功能很可能会在下一个版本中发生更改,但代码的可读性不会改变。代码的风格及其良好的可读性使得代码更容易长期维护,即使在原来的代码已经被改得面目全非之后。
永远不要忘记,将来最有可能被记住的不是你的代码本身,而是你的风格和一致性。因此,请确保代码格式良好并遵循所有团队成员都能理解的简单规则。

首先创建一个“try-catch-finally”块

乔治·康吉莱姆(科学史家、哲学家)正确地指出:“犯错误对一个人来说是自然的,但坚持错误就是来自魔鬼。 ” 排除故障是所有程序员都会做的事情。输入中可能会出现无效数据,并且设备可能会出现故障。作为开发人员,我们需要确保代码执行其应该执行的操作。问题不仅仅是错误处理,而是“干净且易于阅读”的错误处理。许多程序都适应错误处理。如果这样做,一切都会陷入混乱,以至于主代码的目的和逻辑都被破坏了。这是错误的,不应该是这样的。代码应该干净、可靠,错误处理应该无缝、自然地融入代码中。这是一个高级程序员的标志。实现这一目标的一种方法是通过适当的嵌套和覆盖 try-catch 块中的所有错误。这些块定义了代码的范围。当您在 try-catch-finally 块的 try 部分执行代码时,您是在声明执行可以随时中止,然后在 catch 中恢复。因此,我们建议您在编写代码时从 try-catch-finally 开始。这将有助于确定用户对代码的期望,无论代码在尝试期间出现什么问题。
永远记住,您抛出的每个异常都必须包含足够的上下文来确定错误的位置和来源。即使程序员已经忙于完全不同的任务,创造性和信息丰富的错误消息在代码编写后很长时间也会被记住。
干净的代码

让我们总结一下

一个不寻常的短语将帮助我们总结以上所有内容。这就是代码意识或“通用代码意识”,相当于程序员的常识。用罗伯特·马丁的话来说:“编写干净的代码需要系统地使用许多小技术,这些技术的应用是由于一丝不苟且有些痛苦的“清洁”意识而应用的。这些小技巧统称为代码感知。 ” 我们中的一些人从一开始就有这种“良好的代码意识”,而另一些人则必须通过坚持不懈的练习来发展它。这种本能不仅有助于识别坏代码和好代码之间的区别,而且有助于形成旨在将坏代码转化为好代码的策略。糟糕的代码会毁掉一切。打个比方,如果你在最美味的蛋糕上撒上狗屎,那么……呃……几乎没有人会喜欢它。代码意识帮助程序员使用正确的工具来实现创建干净代码的目标。理解什么是代码感知的程序员就是一位艺术家,他可以在空白屏幕上创作出令人铭记多年的艺术品。正如麻省理工学院计算机科学教授、知识共享和自由软件基金会创始主任哈罗德·“哈尔”·阿贝尔森 (Harold “Hal” Abelson) 所总结的那样:“首先需要编写程序,以便人们可以阅读它们,然后才能将它们被处决。“汽车”。您可以阅读有关该主题的内容:“敏捷软件工艺手册”- Robert Martin。“敏捷估算手册”- Mike Cohn 作者简介:Ravi Shankar Rajan 是来自印度孟买的全球 IT 项目经理。著名博主、俳句诗人、狂热的考古学和历史爱好者。 您可以通过TwitterMediumLinkedIn与他联系
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION