API,身份验证,设计模式,MVC,缓存,Cookie,会话,JSON,端点,服务器,托管,CRUD。这些单词对您来说很熟悉吗?
如果是,那么您肯定是后端开发人员或在应用程序的后端部分工作。
客户经常低估了后端开发人员的工作,尤其是那些只对前端部分印象深刻并且对后端编码一无所知的客户。客户永远无法获得后端编码部分所涉及的复杂性。
您可以询问开发人员,他们将让您知道有时候用最少的代码很难连接4-5个表,他们在实现API时会遇到什么样的困难,何时需要考虑所有情况当涉及到动态网址。
想象一下您正在构建一个电子商务站点的场景,并且您需要处理一个复杂的查询,在该查询中,您必须为将要在您的网站上购物的客户计算价格。如果使用=而不是==会发生什么。当然,整个结果会有所不同,客户可能会获得利益,或者他/她可能会损失很多钱。后端的一个小错误会产生很多错误,并且可能会造成巨大损失。
后端开发涉及处理很多复杂的东西。为了使应用程序更高效,开发人员在处理应用程序的后端部分时需要真正专注于逻辑和代码优化。
当团队对于项目来说很小时,开发人员不会将重点放在良好的编码实践上,但是当团队和应用程序增长时,最好遵循整个团队的最佳编码实践。
今天,在此博客中,我们将从后端开发人员的角度分享一些良好的编码实践,这对于在微服务或网格体系结构环境中工作的开发人员而言非常有用。1.完善您的核心技能
当涉及到应用程序的后端部分时,这是最重要的技能。您应该至少具有服务器端语言(例如Java,C/C++,PHP,C#等)的工作知识。您使用这些语言的能力越强,开发应用程序就越容易。
另外,您应该在数据库方面有扎实的基础。后端开发人员处理数据库中保存的大量数据。他们在日常工作中对它运行多个查询。因此,最好会用一些数据库,例如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版本:2.1”。
以下是URL版本控制方法的示例。6.自动执行重复性任务
剧本总是一样,但人类却不一样
作为后端开发人员,您可能在日常工作中遇到了一些重复性的任务。学习自动化。不要浪费您的时间一次又一次地做同样的事情。使事情自动化将使您的生活更轻松,并且您不必一遍又一遍地键入相同的命令。7.编写测试用例和文档
如果您编写测试用例,则在进入实际的编码部分之前,无疑可以帮助您规划和可视化最终产品。您无需在代码库中进行频繁的更改,从而提高了工作效率。此外,测试用例将帮助您确定在代码库中所做的更改对下游的影响,尤其是在应用程序扩展时。
测试驱动开发(TDD):这是在开始进行实际编码之前编写测试用例的好方法之一。TDD有很多好处,但也有一些缺点。这会花费很多时间。如果服务很关键,请详细说明测试用例。
您使用的语言提供了许多测试框架。您可以从链接检查出的JavaScript测试框架8个有用的测试工具,库,以及框架的开发作出反应。
当团队和应用程序很小时,开发人员不会理解代码文档部分的重要性。在大多数初创公司中,他们不维护正在使用的应用程序的文档。他们的主要重点是快速构建和运输产品。
标题名称:被忽略的后端开发人员:你知道前端的精美,却忽略了后端的努力
转载注明:
http://shouzuofang.com/article/egijjg.html