API、身份验证、设计模式、MVC、缓存、Cookie、会话、JSON、端点、服务器、托管、邮递员、CRUD、Curl……
这些词你是不是很熟悉???
如果是,那么您肯定是后端开发人员或在应用程序的后端部分工作。
客户经常低估后端开发人员的工作,尤其是那些只对前端部分印象深刻而对后端编码一无所知的开发人员。客户永远无法获得后端编码部分所涉及的复杂性。
问开发者,他们会告诉你,有时候用最少的代码连接4-5张表是多么困难,他们在实现API的过程中遇到了什么样的困难,他们在什么时候需要考虑所有的场景。它涉及制作动态网址。
想象一个场景,您正在构建一个电子商务网站,您需要处理一个复杂的查询,您必须计算将要从您的网站购物的客户的价格。如果使用 = 而不是 == 会发生什么。当然整个结果会有所不同,客户可能会得到好处,或者他/她可能会损失很多钱。后端的一个小错误可能会产生很多错误,并且可能会花费很多钱(当然,当你不得不面对你的高级工程师时,你的公司会遇到麻烦……lol )。
后端开发涉及处理许多复杂的东西。为了使应用程序更高效,开发人员在处理应用程序的后端部分时需要真正关注逻辑和代码优化。
当一个项目的团队非常小时,开发人员不会过多关注良好的编码实践,但是当团队和应用程序成长时,在整个团队中遵循最佳编码实践是很好的。
今天在这篇博客中,我们将从后端开发人员的角度分享一些良好的编码实践,这对于在微服务或网格架构环境中工作的开发人员非常有用。
1. 完善你的核心技能
在处理应用程序的后端部分时,这是最重要的适应技能。您应该至少具备服务器端语言(如Java、 Python、 PHP、C# 等)的应用知识。您在这些语言方面的能力越强,开发应用程序就越容易。
此外,您应该在 SQL 或数据库方面有扎实的基础。后端开发人员处理保存在数据库中的大量数据。他们在日常工作中对其运行多个查询。因此,将一些数据库(例如 MySQL、SQL Server、MongoDB 和 PostgreSQL)作为最低要求是很好的。它们都有类似的将数据存储在行和列中的概念,但在所有数据库中都存在一些差异。在开始构建应用程序之前,最好先了解这些数据库的工作知识。
后端开发人员的另一项重要技能是 JSON 和/或 XML API 的知识。许多应用程序需要以 JSON 的形式检索数据并连接到应用程序编程接口 (API)。 API 中最流行的数据检索格式是 JSON 格式和 XML。使用 API 和这些格式的知识将使您的后端开发之旅更加轻松。
2. 验证输入并处理错误
如果您编写后端代码的时间超过几个月,那么您可能会从高级工程师那里听到“永远不要相信您的用户”这个词。作为后端开发人员,请确保您永远不会相信用户提交的数据。当应用程序在服务器上运行时,黑客可能会尝试渗透系统。
为了确保系统的安全性,最好验证进入您系统的输入。现在的问题是……如何验证进入您系统的输入?
您可以在两个级别验证输入……
- API 网关:这可以通过策略来完成,主要是通用验证、模式、格式。
- 微服务:这涉及检查实体的存在。您可以使用开发堆栈的库在微服务中进行输入验证。
完成输入和错误的验证后,您需要负责正确处理它。你需要在微服务/网格架构中小心地做,因为组件在这些类型的系统中是相互连接的。如果其中一项服务崩溃,则整个系统可能会受到影响。在这种情况下,您可能需要进行大量故障排除。
您应该了解服务器上发生错误时生成的 HTTP 错误代码。为了处理这些错误,在不使服务崩溃的情况下返回响应。正确的输入验证和错误处理不会在服务器上产生任何问题。它还将减少对您的软件进行故障排除的需要
3.遵循关注点分离
- 你如何组织你的代码?
- 你如何组织你的代码?
- 你为代码的可维护性做了什么?
上述问题的一个很好的答案是……在代码中使用关注点分离。作为后端开发人员,如果您在您的软件架构中遵循这个概念,那么您肯定会节省大量时间和精力投入到代码的可维护性上。
关注点分离将您的整个计算机程序划分为不同的部分或不同的模块,以便更好地组织代码。这提高了代码的可读性,并且其他开发人员在应用程序上进行协作变得更加容易。
您可以遵循任何设计模式来构建您的代码。一种流行的 Web 应用程序是 MVC 框架。在软件架构中实施这种良好实践对整个团队真的很有帮助。它减少了代码的学习曲线,并在应用程序开发过程中提高了团队的整体速度和效率。
4. 实施健康检查端点和日志记录
健康检查只是意味着监视系统的服务。我们确保数据库正常运行,服务在整个系统中运行顺畅。如果发现错误或问题,它有助于解决软件中的问题。如果健康检查失败,您的软件服务可能会被终止。因此,让我们讨论一些在您的系统中实施一些良好运行状况检查的方法。
- TCP 健康检查:这是一项基本的健康检查,可确保服务正常运行。此健康检查是通过 TCP 完成的,它不会监控服务级别的健康状况。大多数云平台都有自己的解决方案来实现这种健康检查。
- 服务级别健康检查:服务级别健康检查是健康检查的高级级别。它验证预期的输出并确保服务顺利运行。
- 日志记录:这里我们关注日志操作,例如数据库查询、 请求和响应到一个集中的日志接收器。为此,您可以使用一些日志库或日志管理工具。
5. 为您的服务实施版本控制
随着时间的推移,您的应用程序需要频繁更改。要有效地处理这些更改,您需要在当前版本仍在系统中运行时实施和测试应用程序。让我们讨论两种对您的服务进行版本控制的方法。
- 网址:例如 “/users/v2.1/{id}”
- 标头:作为“X-Version:2.1”包含在标头中。
以下是 URL 版本控制方法的示例。
6. 自动化重复任务
脚本总是一样的,但人类不是……
作为后端开发人员,您可能在日常工作中遇到过一些重复性任务。学习自动化。不要浪费时间一次又一次地做同样的事情。自动化这些事情将使您的生活更轻松,您不必一遍又一遍地键入相同的命令。
7. 编写测试用例和文档
如果您编写测试用例,那么在您进入实际编码部分之前,它肯定会帮助您规划和可视化最终产品。您不必频繁更改代码库,这会提高您的工作效率。此外,测试用例将帮助您识别您在代码库中所做更改的下游影响,尤其是在应用程序增长时。
测试驱动开发 (TDD) :这是在开始实际编码之前编写测试用例的好方法之一。 TDD 有很多好处,但它也有一些缺点。这可能会占用很多时间。如果服务很关键,那么详细说明测试用例。
许多测试框架都以您正在使用的语言提供。您可以从链接 8 Useful Testing Tools, Libraries, and Frameworks For React Developers 中查看 JavaScript 测试框架。
现在让我们进入文档部分。
如果您不理解代码的一部分,并且需要请其他开发人员澄清应用程序的特定部分在代码库中做了什么,您会有什么感觉?
如果每次您都必须嘲笑其他开发人员以澄清代码库中的内容,那肯定会令人沮丧。您将花费大量时间来理解代码,而这只会妨碍生产力。
当团队和应用程序很小时,开发人员不了解代码文档部分的重要性。在大多数初创公司中,他们不维护他们正在开发的应用程序的文档。他们的主要重点是快速构建和运输产品。
为代码编写文档非常重要。它可以帮助整个团队正确理解代码并顺利构建软件,没有任何麻烦。因此,最好找到一种最适合您的团队编写代码文档的方法。查看 Postman 的链接 API 文档,了解编写 API 文档的各种方法。
结论
作为后端开发人员,您将不得不处理许多复杂的事情和问题。您不仅要开发应用程序,还要处理用于托管应用程序的备份和服务器。无论您在后端选择何种技术,请确保在其上实施最佳实践。作为后端开发人员,我们相信您的生活会变得更加轻松……