让我们谈谈重构!
在这一系列的简短帖子中,我们将讨论可以帮助您改善代码和项目的技术和工具。
今天我们将讨论如何注意您的项目是否需要重构。
认知警报
重构的目的是使代码更可读和可维护。我们可以使用这些属性来评估项目中的代码质量。
阅读代码时,我们应该注意“认知警报”该信号问题。
认知警报是我们在阅读复杂或不清楚的代码时得到的感觉。我们应该考虑在阅读这些想法时是否出现重构:
- 代码很难读取,或者似乎太复杂了;
- 很难更改,更新和修改;
- 很难为其测试或准备测试数据;
- 很难跟踪其中发生的事情或记住所有细节。
这些感觉背后的原因可能会有所不同,稍后我们将更加仔细地调查它们。但是它们标志着问题,因此,如果我们经验他们,我们应该考虑重构。
代码气味
我们上面提到的一些问题已经以代码气味的形式形成。
Code smells是导致代码质量差的反生态。大多数与面向对象的代码有关,但许多代码普遍适用。因此,我们在阅读代码时也可以寻找它们。
有代码气味的已知解决方案。有时,它足以查看代码,找到气味并应用特定的解决方案。
指标
除了认知警报外,我们可以使用可测量的指标,例如cyclomatic和cognitive complexity。
阅读代码时,我们建立了它在脑海中工作的模型。该模型描述了数据发生了什么以及指令如何执行。
复杂性指标向我们展示了该模型的复杂程度。模型越复杂,读取和维护代码就越难。如果我们看到代码段的复杂性高于极限,我们可以对其进行作用并重构。
这种特性的重要特征是它们是可测量的。我们可以选择此类属性的限制,并使用代码linter自动进行检查。
衬里
像ESLint这样的代码衬里包含许多开发人员的集体体验,可以帮助我们改进代码。
并非所有的林格规则都同样有用,但是我们可以选择我们认为更重要并遵循它们的规则。
使用Linters,我们可以考虑在看到错误或警告时进行重构。 ...实际上,使用Linter警告有更好的策略,我在书中详细描述了它:
我的书中的更多细节
这篇简短的帖子仅显示了我要分享的所有技术和工具的一小部分。如果您想了解更多重构,我鼓励您查看我的新在线书:
它是免费的,可以在GitHub上获得。在其中,我更详细地解释了这个主题。
希望您发现它有帮助!享受这本书ð