学习如何轻松构建可伸缩的 React 应用程序:整洁和可维护的代码
# 为什么要编写整洁的代码
编写干净的代码对于编程非常必要,有以下几点好处:
- 业务连续性
- 业务连续性在每个组织中都非常重要,因为当开发人员离开公司或企业时,软件必须继续运行,以造福组织
- 开发人员必须编写易于维护的代码,以便企业可以在开发人员存在或不存在的情况下继续运营
- 易于阅读和理解
- 代码应该简单易读易懂
- 每个编写代码的开发人员都应该考虑谁将阅读、调试、添加功能和支持应用程序
- 确保在您离开公司之后,没有人会联系您作为开发人员,询问您写了什么或理解您的逻辑做了什么
# 如何实现整洁的代码
如何实现整洁代码:
保持简单(KISS,Keep It Simple, Stupid)
- 保持代码简单,不要过度设计
- 不要为了标准而使事情变得复杂
一次且仅一次(DRY,Don't Repeat Yourself)
- 在应用程序中多个地方重复相同的逻辑会导致多个冗余的代码
- 重复的代码会导致代码的可维护性降低
- 将可重复使用的代码抽象为函数或组件,在需要时调用
尝试自解释代码
- 无论编写什么代码,无论是方法、函数还是变量声明,都应该以一种解释给下一个要读、调试和支持它的人的方式编写它
- 代码应该易于阅读和理解,而无需进行太多的调试
避免在函数中使用太多参数
- 大多数函数/方法都需要一个或多个参数,这些参数应该保持在三个参数以内
- 如果参数超过 3 个,请使该方法接收一个对象,然后在方法中解构该对象以供使用
- 这使其易于阅读,因为对象是可扩展的(可以在其中添加更多参数)
代码应该松散耦合
- 松散耦合会使应用程序的所有部分独立但协同工作
- 这样做的好处是任何人都可以加入(甚至是新人),向现有应用程序添加新的代码或功能,而不会破坏当前正在工作的代码
删除注释或未使用的代码
- 开发应用程序时,我们倾向于注释我们错误编写或稍后使用的代码或导致应用程序中出现错误的代码,这不是好习惯,它会使应用程序代码不必要地变得冗长
- 在提交到生产之前,请始终确保从代码中删除注释或未使用的代码(函数、方法或变量)
使用自描述的名称
在为变量或方法命名时,请尝试给它一个有意义的名称
给出简单易懂的自描述名称
代码语言:javascript复制// bad
const a = 1;
const b = 2;
// good
const firstNumber = 1;
const secondNumber = 2;
所有函数必须只做一件事情
- 在应用程序中编写函数来帮助我们,这些函数可以根据我们的目标做各种各样的事情,但请记住,每个函数都应该只做一件事情
将函数保持短小精悍
- 将函数保持短小精悍是实现清晰代码的一种方式
- 当函数变得非常大时,阅读起来就会变得困难,请尽量将它们保持非常短小,最多 50-60 行
在从主分支拆除分支时给分支有意义命名
大多数代码都会被推送到在线仓库(GitHub 等),使我们能够拥有持续集成(CI)和持续交付(CD)
通常将从主分支创建一个分支,以开发新功能或修复漏洞。
假设我们被要求在生产环境中修复一个无限循环错误,可以这样命名
代码语言:javascript复制git checkout -b fix/infinite_loop_fixes
# 或带有工单编号
git checkout -b fix/ticket_number_infinite_loop_fixes
在向仓库提交代码时给出描述性标题
- 当提交代码以进行 Pull Requests(PR)时,非常重要的是将良好的 标题/描述 作为消息
- 它让审阅人和其他人了解您在代码中做了什么
编写单元测试
- 大多数开发人员讨厌编写单元测试,有时它可能很烦人,但编写代码测试非常重要
- 测试代码将让您了解预期出现的错误和情况以及如何避免它们
# 如何编写可维护的代码
编写可维护的代码对于任何组织或公司都非常重要。作为开发人员,不仅要编写能够工作的代码,而且还要编写易于修复漏洞(如果有的话)、维护和支持的代码。
一些有助于实现可维护代码库的实践:
- 设计模式
- 编写可测试的代码
- 检查错误
- 输出错误日志以便于跟踪和修复漏洞
# 设计模式
设计模式是解决软件设计问题的解决方案,设计模式给出了构建应用程序的一种定义的方式/模式。如果希望拥有易于支持和维护的代码库,则使用设计模式非常重要。
实际生产中有很多设计模式,但在这里只列举一些:
- 仓储模式
- 单例模式
- 领域驱动设计模式
这些设计模式有其独特的解决软件设计问题的方式。它们在实现方式上是独一无二的,这将有助于使代码可维护,每个人都必须遵循给定的模式。
# 编写可测试的代码
需要理解编写代码不仅仅是使其工作,还应该易于测试。编写代码时,请确保记住您应该编写可测试的代码,当代码是可测试的时,很容易发现和解决问题。
# 检查错误
在编写的每个应用程序中,都有可能存在错误。错误是不可避免的,这就是为什么作为开发人员,需要检查错误。
使用 try
和 catch
包装代码可以帮助检查这些错误并向用户显示友好的消息,并且最好将这些错误记录到文件中或保存到数据库中。
# 输出错误日志以便于跟踪和修复漏洞
输出错误日志在构建应用程序时非常重要,因为它将给出应用程序运行时发生了什么,这些日志可以作为故障排除的入手点进行分析。
# 使用 TypeScript 创建应用
Typescript 是 JavaScript 的超集,它是强类型的,可以帮助构建可扩展的应用程序。