API,身份驗(yàn)證,設(shè)計(jì)模式,MVC,緩存,Cookie,會話,JSON,端點(diǎn),服務(wù)器,托管,CRUD。這些單詞對您來說很熟悉嗎?
如果是,那么您肯定是后端開發(fā)人員或在應(yīng)用程序的后端部分工作。
客戶經(jīng)常低估了后端開發(fā)人員的工作,尤其是那些只對前端部分印象深刻并且對后端編碼一無所知的客戶。客戶永遠(yuǎn)無法獲得后端編碼部分所涉及的復(fù)雜性。
您可以詢問開發(fā)人員,他們將讓您知道有時候用最少的代碼很難連接4-5個表,他們在實(shí)現(xiàn)API時會遇到什么樣的困難,何時需要考慮所有情況當(dāng)涉及到動態(tài)網(wǎng)址。
想象一下您正在構(gòu)建一個電子商務(wù)站點(diǎn)的場景,并且您需要處理一個復(fù)雜的查詢,在該查詢中,您必須為將要在您的網(wǎng)站上購物的客戶計(jì)算價格。如果使用=而不是==會發(fā)生什么。當(dāng)然,整個結(jié)果會有所不同,客戶可能會獲得利益,或者他/她可能會損失很多錢。后端的一個小錯誤會產(chǎn)生很多錯誤,并且可能會造成巨大損失。
后端開發(fā)涉及處理很多復(fù)雜的東西。為了使應(yīng)用程序更高效,開發(fā)人員在處理應(yīng)用程序的后端部分時需要真正專注于邏輯和代碼優(yōu)化。
當(dāng)團(tuán)隊(duì)對于項(xiàng)目來說很小時,開發(fā)人員不會將重點(diǎn)放在良好的編碼實(shí)踐上,但是當(dāng)團(tuán)隊(duì)和應(yīng)用程序增長時,最好遵循整個團(tuán)隊(duì)的最佳編碼實(shí)踐。
今天,在此博客中,我們將從后端開發(fā)人員的角度分享一些良好的編碼實(shí)踐,這對于在微服務(wù)或網(wǎng)格體系結(jié)構(gòu)環(huán)境中工作的開發(fā)人員而言非常有用。1.完善您的核心技能
當(dāng)涉及到應(yīng)用程序的后端部分時,這是最重要的技能。您應(yīng)該至少具有服務(wù)器端語言(例如Java,C/C++,PHP,C#等)的工作知識。您使用這些語言的能力越強(qiáng),開發(fā)應(yīng)用程序就越容易。
另外,您應(yīng)該在數(shù)據(jù)庫方面有扎實(shí)的基礎(chǔ)。后端開發(fā)人員處理數(shù)據(jù)庫中保存的大量數(shù)據(jù)。他們在日常工作中對它運(yùn)行多個查詢。因此,最好會用一些數(shù)據(jù)庫,例如MySQL,SQL Server,MongoDB和PostgreSQL。它們都有類似的概念將數(shù)據(jù)存儲在行和列中,但是所有數(shù)據(jù)庫都有一些區(qū)別。在開始構(gòu)建應(yīng)用程序之前,最好對這些數(shù)據(jù)庫有一定的了解。
后端開發(fā)人員的另一個重要技能是JSON和/或XML API的知識。許多應(yīng)用程序需要以JSON的形式檢索數(shù)據(jù)并連接到應(yīng)用程序編程接口(API)。API中用于數(shù)據(jù)檢索的最流行的格式是JSON格式和XML。了解API和這些格式的知識將使您的后端開發(fā)過程變得更加輕松。2.驗(yàn)證輸入和處理錯誤
如果您要編寫后端代碼超過幾個月,那么您可能會聽到高級工程師說過“永不信任您的用戶”一詞。作為后端開發(fā)人員,請確保您永遠(yuǎn)不要信任用戶提交的數(shù)據(jù)。當(dāng)應(yīng)用程序在服務(wù)器上發(fā)布時,黑客可能會嘗試侵入系統(tǒng)。
為了確保系統(tǒng)的安全性,最好驗(yàn)證輸入到系統(tǒng)中的輸入?,F(xiàn)在的問題是如何驗(yàn)證輸入到系統(tǒng)中的輸入?
您可以在兩個級別上驗(yàn)證輸入
API網(wǎng)關(guān):這可以通過策略來完成,主要是通用驗(yàn)證,架構(gòu),格式。
微服務(wù):這涉及檢查實(shí)體的存在。您可以將開發(fā)堆棧的庫用于微服務(wù)中的輸入驗(yàn)證。
完成輸入和錯誤的驗(yàn)證后,您需要負(fù)責(zé)正確處理它。您需要在微服務(wù)/網(wǎng)格體系結(jié)構(gòu)中仔細(xì)進(jìn)行操作,因?yàn)檫@些組件在這些類型的系統(tǒng)中是相互連接的。如果其中一項(xiàng)服務(wù)崩潰,則整個系統(tǒng)可能會受到影響。在這種情況下,您可能必須進(jìn)行大量的故障排除。
您應(yīng)該了解在服務(wù)器上發(fā)生錯誤時生成的HTTP錯誤代碼。要處理這些錯誤,請返回響應(yīng)而不會導(dǎo)致服務(wù)崩潰。正確的輸入驗(yàn)證和錯誤處理不會對服務(wù)器造成任何影響。它還將減少對軟件進(jìn)行故障排除的需要3.遵循關(guān)注點(diǎn)分離
您如何組織代碼?
您如何構(gòu)造代碼?
您為代碼的可維護(hù)性做什么?
上述問題的好答案之一是在代碼中使用關(guān)注點(diǎn)分離。作為后端開發(fā)人員,如果您在軟件體系結(jié)構(gòu)中遵循此概念,那么肯定會節(jié)省您在代碼可維護(hù)性方面花費(fèi)的大量時間和精力。
關(guān)注點(diǎn)分離將整個計(jì)算機(jī)程序劃分為不同的部分或不同的模塊,以更好地組織代碼。這提高了代碼的可讀性,并使其他開發(fā)人員在應(yīng)用程序上進(jìn)行協(xié)作變得更加容易。
您可以遵循任何設(shè)計(jì)模式來構(gòu)造代碼。針對Web應(yīng)用程序的一種流行的是MVC框架。在軟件體系結(jié)構(gòu)中實(shí)施這種良好實(shí)踐對整個團(tuán)隊(duì)確實(shí)很有幫助。它減少了代碼的學(xué)習(xí)曲線,并在應(yīng)用程序開發(fā)期間提高了團(tuán)隊(duì)的整體速度和效率。4.實(shí)施運(yùn)行狀況檢查端點(diǎn)和日志記錄
運(yùn)行狀況檢查只是意味著監(jiān)視系統(tǒng)的服務(wù)。我們確保數(shù)據(jù)庫正常工作,并且服務(wù)在整個系統(tǒng)中運(yùn)行順暢。如果發(fā)現(xiàn)錯誤或問題,則有助于解決軟件中的問題。如果運(yùn)行狀況檢查失敗,則您的軟件服務(wù)可能會終止。因此,讓我們討論一些在系統(tǒng)中實(shí)施良好運(yùn)行狀況檢查的方法。
TCP運(yùn)行狀況檢查:這是一項(xiàng)基本的運(yùn)行狀況檢查,可確保服務(wù)已啟動并正在運(yùn)行。此運(yùn)行狀況檢查通過TCP完成,并且不監(jiān)視服務(wù)級別的運(yùn)行狀況。大多數(shù)云平臺都有自己的解決方案來實(shí)施此運(yùn)行狀況檢查。
服務(wù)級別的運(yùn)行狀況檢查:服務(wù)級別的運(yùn)行狀況檢查是運(yùn)行狀況檢查的高級級別。它驗(yàn)證了預(yù)期的輸出并確保服務(wù)運(yùn)行順暢。
日志記錄:這里我們關(guān)注的是日志操作,例如數(shù)據(jù)庫查詢,請求和對集中式日志接收器的響應(yīng)。為此,您可以使用某些日志記錄庫或日志管理工具。5.為您的服務(wù)實(shí)施版本控制
隨著時間的流逝,您的應(yīng)用程序需要頻繁更改。為了有效地處理這些更改,您需要在當(dāng)前版本仍在系統(tǒng)中運(yùn)行時實(shí)施和測試該應(yīng)用程序。讓我們討論對服務(wù)進(jìn)行版本控制的兩種方法。
網(wǎng)址:例如“ /users/v2.1/{id}”
標(biāo)頭:包含在標(biāo)頭中的“ X版本:2.1”。
以下是URL版本控制方法的示例。6.自動執(zhí)行重復(fù)性任務(wù)
劇本總是一樣,但人類卻不一樣
作為后端開發(fā)人員,您可能在日常工作中遇到了一些重復(fù)性的任務(wù)。學(xué)習(xí)自動化。不要浪費(fèi)您的時間一次又一次地做同樣的事情。使事情自動化將使您的生活更輕松,并且您不必一遍又一遍地鍵入相同的命令。7.編寫測試用例和文檔
如果您編寫測試用例,則在進(jìn)入實(shí)際的編碼部分之前,無疑可以幫助您規(guī)劃和可視化最終產(chǎn)品。您無需在代碼庫中進(jìn)行頻繁的更改,從而提高了工作效率。此外,測試用例將幫助您確定在代碼庫中所做的更改對下游的影響,尤其是在應(yīng)用程序擴(kuò)展時。
測試驅(qū)動開發(fā)(TDD):這是在開始進(jìn)行實(shí)際編碼之前編寫測試用例的好方法之一。TDD有很多好處,但也有一些缺點(diǎn)。這會花費(fèi)很多時間。如果服務(wù)很關(guān)鍵,請?jiān)敿?xì)說明測試用例。
您使用的語言提供了許多測試框架。您可以從鏈接檢查出的JavaScript測試框架8個有用的測試工具,庫,以及框架的開發(fā)作出反應(yīng)。
當(dāng)團(tuán)隊(duì)和應(yīng)用程序很小時,開發(fā)人員不會理解代碼文檔部分的重要性。在大多數(shù)初創(chuàng)公司中,他們不維護(hù)正在使用的應(yīng)用程序的文檔。他們的主要重點(diǎn)是快速構(gòu)建和運(yùn)輸產(chǎn)品。
網(wǎng)頁標(biāo)題:被忽略的后端開發(fā)人員:你知道前端的精美,卻忽略了后端的努力
標(biāo)題網(wǎng)址:http://jinyejixie.com/article26/egijjg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、動態(tài)網(wǎng)站、App開發(fā)、網(wǎng)站設(shè)計(jì)、虛擬主機(jī)、網(wǎng)站營銷
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源:
創(chuàng)新互聯(lián)