初次编写干净代码

从开发人员到工程经理的10年间,我加入了不同领域且具有各种技术需求的许多产品团队。 在这种多样性中,我觉得有一个共同的未说要求,即代码必须干净且可读。

那么,为什么要使用清晰易读的代码?

“实际上,读与写所花费的时间之比远超过10:1。我们一直在阅读旧代码,这是编写新代码的一部分。 …[因此,]使其易于阅读使其易于书写。” ― 罗伯特·C·马丁 Robert C. Martin)

但是,如何编写干净的代码? 有没有可以遵循的程序?

每当我想到这些问题时,它就会带我到这篇说明写作过程的文章中。

每次阅读时写作都会演变。 同样,我认为每段代码都有改进的空间。 实际上,一种逻辑可以通过许多不同的方式转换为一段代码,某些方式更简洁,而另一些则需要进一步迭代。

我相信编写电子邮件,书籍,博客甚至一段代码都应遵循相同的过程。 唯一的变化是上下文。

因此,让我们看看如何根据上下文将5个清晰的编写步骤应用于编写干净的代码。

规划

首先,规划是编写代码或文章的必要条件。

“计划可能会失败,但这并不意味着没有计划。 数小时的规划可以节省您数周的编程时间” —未知

1)了解要求

最重要的是为完成这项工作的用户计划一个代码。 因此,以用户故事的形式快速而简单地了解捕获的用户的观点是开始的方式。 通过理解以下格式的需求,应该使用户参与进来。

作为,我想要,以便。

一个例子,

作为餐厅经理,我应该能够看到食材的每日库存详细信息,以便我可以计划第二天的购买。

这将极大地清楚需要为用户执行什么代码。

2)影响分析

在代码计划级别进行影响分析是为了确定将直接和间接受影响的代码区域。 这将使您更好地了解所有涉及的内容。

3)高级伪编码

伪编码在开发人员中不太流行,但是它是在计划期间构建代码草图的最强大技术。 尽可能清楚地表达意图,并让编码人员专注于算法的新颖部分

起草/编写代码

在起草文章时,人们开始以词汇的形式将自己的想法写在纸上。 同样,编写代码会将您的想法以代码形式输入编辑器。 您可以包括最佳实践,但更重要的是将您的所有想法都以代码的形式表达出来,让头脑变得空虚。

错误的代码太多了-重点放在干净的代码上。

因此,请记住黄金法则- “每段代码都只能做一件事”

您永远不应该做的就是复制一个库函数或您不知道它到底在做什么的现有代码。

编写测试用例,为TDD计划,但要在较粗的层次上进行,因为在单位级别的测试无法达到目的。 目标不是100%的覆盖率。 看看DHH在RailsConf 2014上发表的精彩主题演讲,解释应该如何看待TDD。

修改/迭代

修订的目的是使代码更清晰,可读性和效率更高。

大多数开发人员认为修订是一项多余的任务,但是如果您不进行修订,您将永远无法改进。 您可以多次修改代码。 这主要是通过应用最佳实践来完成的,例如,异常处理,选择正确的数据类型,内存管理,缓存和优化等。

确保编写代码的核心目标保持完整无误。

编辑中

您可以签出一段代码来命名约定。 变量,函数,类名,文件夹结构等应正确拼写。 它应该描述其用法。

让我告诉您变量的命名有多重要。

“您应该像命名长子一样谨慎地命名变量。” ― Robert C. Martin

好吧,他并没有要求您让您的配偶参与变量的命名,但是您可以开始练习了!

删除不必要的临时代码,并确保已关闭调试机制。

格式化

值得庆幸的是,我们有出色的编辑器可提供代码美化功能。 仅需一个键就可以格式化所有内容。 与文章作者相比,这对于开发人员而言要简单得多。

写作是关于清晰度。 写作是关于以清晰的方式呈现信息。 我们可以用很少的单词写,没有太多的麻烦就可以完成工作。

当您考虑编写代码不是科学而是更多的艺术时,这变得非常容易。 如果您遵循此简单过程并进行实践,那么您一定会成为一名更好的程序员。

您编写干净代码所遵循的过程是什么?