优秀的开发人员是由代码的质量来定义的。在软件行业,编写好的代码意味着节省可能用于测试、更新、扩展或修复错误的资金。在本文中,将向你展示一些实际的技术和示例,这些技术和思想将帮助清理遗留代码,并对其进行重构,使其更加健壮和模块化。这些不仅可以帮助重构旧代码,而且从现在开始实践如何编写干净代码。
什么是重构?为什么我们需要重构?
重构是指帮助你编写干净代码的技术和步骤。这对其他开发人员很重要,他们将能够读取、扩展和重用代码,而无需进行大量编辑。
下来的几行将向你展示一些重构遗留代码的示例,并使其变得更好。
不要重构没有单元测试的生产代码
第一个建议是不要重构没有单元测试的遗留代码。原因是显而易见的:你最终会遇到一些很难修复的功能性BUG,因为你无法找出BUG的原因。因此,如果您需要重构它,首先从测试它开始。确保要重构的部分包含在测试中。
从代码的最深处开始重构
通常,最深的一点是关注一个单一的逻辑,这使得重构更容易。
通过将方法划分为更小的方法或配置文件/db表来缩短方法
在if语句中始终使用{}
不要使用魔法数字或魔法字符串
如果判断房间超过250,它将返回一条错误消息。在这种情况下,250被认为是一个魔法数字。如果不是编写它的开发人员,就很难弄清楚它代表什么。
不要使用else语句,如果你不需要
对方法、变量和测试使用有意义的名称
使用编程语言的最大能力
许多开发人员没有使用他们所使用的编程语言的全部功能。这些特性中的许多可以节省大量的精力,并使代码更加健壮。注意仅仅使用类型提示就可以很容易地用更少的代码获得相同的结果。
最后提供一些关于更好编码的提示
- 使用新的数组形式[]而不是旧的一个数组()。
- 使用===运算符而不是==除非不检查数据类型很重要。
- 给公共方法提供简短的描述性名称总是一个好主意。
- 私有方法的名称较长是可以的,因为它们的作用域有限。
- 仅对实现接口的方法使用常规名称example add(),对单个类方法使用描述性名称adduser()或adddocument()。
- 从类中移除未使用的方法。
- 使用前缀是/具有返回布尔值的函数,例如:isadmin($user)、hasPermission($user)。
- 总是在类方法和属性中使用访问修饰符。
- 注意界面污染:只能使用用户可以公开使用的方法。在公共方法位于顶部的地方组织类方法。
- 始终将单一责任概念应用于类和方法定义。