AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當(dāng)前位置:首頁 > 科技  > 軟件

停止過度設(shè)計(jì)中等規(guī)模的前端應(yīng)用程序

來源: 責(zé)編: 時(shí)間:2023-08-14 22:01:07 332觀看
導(dǎo)讀開發(fā)一個(gè)小型應(yīng)用程序很簡(jiǎn)單。另一方面,開發(fā)大規(guī)模應(yīng)用程序極其困難,但至少有大量可用的資源可以指導(dǎo)你。然而,大多數(shù)實(shí)際應(yīng)用存在的中間地帶,卻鮮少受到關(guān)注。在軟件開發(fā)領(lǐng)域,不陷入過度工程化的陷阱,寫出可維護(hù)的代碼的做

開發(fā)一個(gè)小型應(yīng)用程序很簡(jiǎn)單。另一方面,開發(fā)大規(guī)模應(yīng)用程序極其困難,但至少有大量可用的資源可以指導(dǎo)你。Lfg28資訊網(wǎng)——每日最新資訊28at.com

然而,大多數(shù)實(shí)際應(yīng)用存在的中間地帶,卻鮮少受到關(guān)注。在軟件開發(fā)領(lǐng)域,不陷入過度工程化的陷阱,寫出可維護(hù)的代碼的做法,已經(jīng)越來越少見了。Lfg28資訊網(wǎng)——每日最新資訊28at.com

讓我們探索哪些流行的成分可能對(duì)中型應(yīng)用有益,并評(píng)估它們是否會(huì)幫助你管理復(fù)雜性,或者是否會(huì)制造出比解決的問題更多的問題。Lfg28資訊網(wǎng)——每日最新資訊28at.com

Typescript

YES ?Lfg28資訊網(wǎng)——每日最新資訊28at.com

首先,我們來解決這個(gè)問題。現(xiàn)在是2023年,對(duì)于不在你的開發(fā)流程中使用TypeScript,實(shí)在沒有任何借口。所有頂級(jí)的前端框架都推薦使用它,而且它們的構(gòu)建過程使得開始使用變得非常容易。Lfg28資訊網(wǎng)——每日最新資訊28at.com

Typescript是JavaScript的超集,它增加了類型注解、接口以及其他功能,使編寫可維護(hù)和可擴(kuò)展的代碼變得更加容易。它可以幫助在開發(fā)過程的早期捕捉錯(cuò)誤,并且可以使得隨著應(yīng)用程序的增長(zhǎng),重構(gòu)代碼變得更加容易。Lfg28資訊網(wǎng)——每日最新資訊28at.com

狀態(tài)管理

YES ?Lfg28資訊網(wǎng)——每日最新資訊28at.com

狀態(tài)管理是任何中等規(guī)模前端應(yīng)用的另一個(gè)重要考慮因素。隨著你的應(yīng)用復(fù)雜度的增長(zhǎng),管理狀態(tài)變得越來越困難。有許多庫和框架可以幫助解決這個(gè)問題,例如Redux,MobX,Vuex和Pinia。這些工具可以幫助你維護(hù)一個(gè)一致的應(yīng)用狀態(tài),并使添加新的功能和特性變得更容易。然而,要注意全局狀態(tài)會(huì)產(chǎn)生耦合,你應(yīng)該強(qiáng)烈考慮將你的存儲(chǔ)分割成多個(gè)模塊。另外,避免濫用它來處理那些不應(yīng)全局可用的事物,如組件狀態(tài)。Lfg28資訊網(wǎng)——每日最新資訊28at.com

功能標(biāo)志

YES ?Lfg28資訊網(wǎng)——每日最新資訊28at.com

功能標(biāo)志,也被稱為功能切換,允許我們?cè)谶\(yùn)行時(shí)和無需新的部署中切換代碼庫中的特定功能。這是一種強(qiáng)大的技術(shù),有助于發(fā)布新功能,進(jìn)行A/B測(cè)試,并有效管理開發(fā)和部署過程。它們可以帶來更大的靈活性,更快的發(fā)布,以及與部署新功能相關(guān)的風(fēng)險(xiǎn)降低。有各種庫和工具可用于在不同的語言和框架中實(shí)現(xiàn)功能標(biāo)志。Lfg28資訊網(wǎng)——每日最新資訊28at.com

測(cè)試

YES & NO ?Lfg28資訊網(wǎng)——每日最新資訊28at.com

測(cè)試是任何應(yīng)用程序開發(fā)過程的重要部分。單元測(cè)試、集成測(cè)試和端到端測(cè)試是一些常用的測(cè)試方法,它們可以提高代碼質(zhì)量,并在長(zhǎng)期內(nèi)節(jié)省時(shí)間。可測(cè)試的代碼通常是更好的代碼,而在開發(fā)早期創(chuàng)建測(cè)試用例可以確保應(yīng)用程序會(huì)有更少的錯(cuò)誤,并且在新人加入時(shí)會(huì)更容易。Lfg28資訊網(wǎng)——每日最新資訊28at.com

另一方面,在大規(guī)模應(yīng)用中,你可能會(huì)遇到許多在較小代碼庫中可能并不必要的測(cè)試類型。其中包括變異測(cè)試、負(fù)載測(cè)試、壓力測(cè)試、性能測(cè)試、視覺測(cè)試、快照測(cè)試等等。Lfg28資訊網(wǎng)——每日最新資訊28at.com

在處理中等規(guī)模的應(yīng)用程序時(shí),找到在編寫足夠的測(cè)試以確保穩(wěn)定性和不過度工程化測(cè)試過程之間的平衡非常重要。我們應(yīng)該專注于創(chuàng)建一個(gè)堅(jiān)實(shí)的單元測(cè)試和集成測(cè)試基礎(chǔ)來覆蓋應(yīng)用程序。Lfg28資訊網(wǎng)——每日最新資訊28at.com

CI/CD

YES ?Lfg28資訊網(wǎng)——每日最新資訊28at.com

現(xiàn)代軟件開發(fā)的另一個(gè)重要部分是持續(xù)集成和交付。通過CI/CD,我們可以自動(dòng)化構(gòu)建、測(cè)試和部署過程,節(jié)省時(shí)間并減少錯(cuò)誤。使用一個(gè)好的CI/CD工具可以使我們的開發(fā)過程更高效,并確保我們的應(yīng)用程序始終準(zhǔn)備好進(jìn)行部署。Lfg28資訊網(wǎng)——每日最新資訊28at.com

領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)

NO ??Lfg28資訊網(wǎng)——每日最新資訊28at.com

領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)是一種軟件開發(fā)方法,強(qiáng)調(diào)對(duì)核心業(yè)務(wù)領(lǐng)域的建模,構(gòu)建開發(fā)人員和利益相關(guān)者共享的普遍語言,并根據(jù)領(lǐng)域的復(fù)雜性設(shè)計(jì)軟件組件。雖然在具有復(fù)雜業(yè)務(wù)邏輯和多個(gè)團(tuán)隊(duì)協(xié)作的大型應(yīng)用程序中,DDD可能非常有用,但對(duì)于中型應(yīng)用程序來說,可能會(huì)過度。Lfg28資訊網(wǎng)——每日最新資訊28at.com

對(duì)于中等規(guī)模的應(yīng)用程序,簡(jiǎn)潔的架構(gòu)和注重清晰、模塊化代碼的重點(diǎn)往往足以確保可維護(hù)性和可擴(kuò)展性。DDD可能會(huì)增加不必要的開銷和復(fù)雜性,這可能不會(huì)為項(xiàng)目帶來顯著的好處。相反,考慮采用更簡(jiǎn)單的架構(gòu)模式和實(shí)踐,以促進(jìn)代碼組織、關(guān)注點(diǎn)分離和可重用性。Lfg28資訊網(wǎng)——每日最新資訊28at.com

Hexagonal Architecture 六邊形架構(gòu)

NO ??Lfg28資訊網(wǎng)——每日最新資訊28at.com

六邊形架構(gòu),也被稱為端口和適配器,是另一種旨在在應(yīng)用程序的核心業(yè)務(wù)邏輯和其外部依賴(如數(shù)據(jù)庫、API和用戶界面)之間創(chuàng)建清晰分離的架構(gòu)模式。這種分離允許更大的靈活性、可測(cè)試性和可維護(hù)性。Lfg28資訊網(wǎng)——每日最新資訊28at.com

與DDD類似,實(shí)施六邊形架構(gòu)對(duì)于具有復(fù)雜業(yè)務(wù)邏輯和眾多外部依賴的大型應(yīng)用程序可能是有益的,但對(duì)于中型應(yīng)用程序來說,這絕對(duì)是過度設(shè)計(jì)。Lfg28資訊網(wǎng)——每日最新資訊28at.com

微前端

NO ??Lfg28資訊網(wǎng)——每日最新資訊28at.com

微前端是一種流行的架構(gòu)模式,它將大型應(yīng)用程序分割成基于特性或領(lǐng)域的較小、獨(dú)立的應(yīng)用程序。這些較小的應(yīng)用程序可以獨(dú)立開發(fā)、測(cè)試和部署,從而實(shí)現(xiàn)更大的可擴(kuò)展性和靈活性。Lfg28資訊網(wǎng)——每日最新資訊28at.com

然而,對(duì)于中等規(guī)模的應(yīng)用程序,引入微前端可能并不必要,反而可能增加復(fù)雜性和開銷,超過其帶來的好處。更傳統(tǒng)的單體架構(gòu),結(jié)合良好組織的代碼庫和適當(dāng)?shù)慕M件使用,可能更適合大多數(shù)中等規(guī)模的應(yīng)用程序。如果將來有需要,可以重新考慮過渡到微前端的決定。Lfg28資訊網(wǎng)——每日最新資訊28at.com

CDN

YES ?Lfg28資訊網(wǎng)——每日最新資訊28at.com

使用CDN是一種快速、簡(jiǎn)單且成本效益高的方法,通過緩存內(nèi)容并從離終端用戶更近的服務(wù)器提供服務(wù),可以提高您的應(yīng)用程序的性能和可靠性。Lfg28資訊網(wǎng)——每日最新資訊28at.com

Linting

YES ?Lfg28資訊網(wǎng)——每日最新資訊28at.com

Linting是一種分析代碼以檢測(cè)潛在錯(cuò)誤、不一致性和偏離已建立編碼標(biāo)準(zhǔn)的過程。這是一種維護(hù)代碼質(zhì)量、提前捕獲問題以及提高整體可讀性和可維護(hù)性的簡(jiǎn)單快速的方法。Lfg28資訊網(wǎng)——每日最新資訊28at.com

Observability  可觀察性

YES ?Lfg28資訊網(wǎng)——每日最新資訊28at.com

中等規(guī)模的應(yīng)用程序是觀察性開始變得至關(guān)重要,并可能節(jié)省大量時(shí)間和金錢的時(shí)候。通過在您的應(yīng)用程序中設(shè)置觀察性,我們可以輕松監(jiān)控、理解并排除系統(tǒng)性能和整體健康狀況的問題。Lfg28資訊網(wǎng)——每日最新資訊28at.com

有多種工具和技術(shù)可用于在你的應(yīng)用程序中構(gòu)建可觀察性,例如日志記錄、度量收集和分布式追蹤。目標(biāo)是快速識(shí)別并解決問題,保持應(yīng)用程序的性能,并盡量減少停機(jī)時(shí)間。Lfg28資訊網(wǎng)——每日最新資訊28at.com

Accessibility 無障礙性

YES ?Lfg28資訊網(wǎng)——每日最新資訊28at.com

無障礙并不僅僅是一個(gè)選項(xiàng),它更是一項(xiàng)責(zé)任!確保你的應(yīng)用程序?qū)λ杏脩簦切┯袣埣驳挠脩簦际强稍L問的,這不僅是正確的做法,而且在某些國(guó)家,這也是法律要求。作為前端工程師,我們有責(zé)任創(chuàng)建無障礙的網(wǎng)站,并且我們應(yīng)該將其作為我們工作流程的一部分,納入我們的完成定義中。Lfg28資訊網(wǎng)——每日最新資訊28at.com

Design system 設(shè)計(jì)系統(tǒng)

NO ??Lfg28資訊網(wǎng)——每日最新資訊28at.com

設(shè)計(jì)系統(tǒng)是一套可復(fù)用的組件、指南和設(shè)計(jì)原則的集合,用于在多個(gè)應(yīng)用程序或平臺(tái)上設(shè)計(jì)一致的用戶界面。雖然對(duì)于擁有多個(gè)產(chǎn)品和團(tuán)隊(duì)的大型組織來說,實(shí)施設(shè)計(jì)系統(tǒng)可能非常有益,但對(duì)于中等規(guī)模的應(yīng)用程序來說,這可能是不必要的。Lfg28資訊網(wǎng)——每日最新資訊28at.com

而不是投入時(shí)間和資源去創(chuàng)建一個(gè)全面的設(shè)計(jì)系統(tǒng),你應(yīng)該專注于根據(jù)你的需求配置現(xiàn)有的組件庫,并在你的應(yīng)用程序中建立一套指南和可重復(fù)使用的組件,以保持一致性并提高開發(fā)者的效率。Lfg28資訊網(wǎng)——每日最新資訊28at.com

總結(jié)

過度工程化是所有惡的根源。當(dāng)涉及到中等規(guī)模的應(yīng)用開發(fā)時(shí),我們大多數(shù)人都有罪。有些工具和技術(shù)是至關(guān)重要的,而有些則不值得投入,但重要的是要設(shè)定并維持一種通用的編碼風(fēng)格,利用自動(dòng)化防止錯(cuò)誤進(jìn)入生產(chǎn)環(huán)節(jié),并保持技術(shù)債務(wù)的低水平。Lfg28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-5717-0.html停止過度設(shè)計(jì)中等規(guī)模的前端應(yīng)用程序

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 計(jì)算機(jī)底層原理~CPU緩存一致性

下一篇: SpringBoot使用WebSocket實(shí)現(xiàn)即時(shí)消息

標(biāo)簽:
  • 熱門焦點(diǎn)
  • 鴻蒙OS 4.0公測(cè)機(jī)型公布:甚至連nova6都支持

    華為全新的HarmonyOS 4.0操作系統(tǒng)將于今天下午正式登場(chǎng),官方在發(fā)布會(huì)之前也已經(jīng)正式給出了可升級(jí)的機(jī)型產(chǎn)品,這意味著這些機(jī)型會(huì)率先支持升級(jí)享用。這次的HarmonyOS 4.0支持
  • Mate60手機(jī)殼曝光 致敬自己的經(jīng)典設(shè)計(jì)

    8月3日消息,今天下午博主數(shù)碼閑聊站帶來了華為Mate60的第三方手機(jī)殼圖,可以讓我們?cè)谡鏅C(jī)發(fā)布之前看看這款華為全新旗艦的大致輪廓。從曝光的圖片看,Mate 60背后攝像頭面積依然
  • 天貓精靈Sound Pro體驗(yàn):智能音箱沒有音質(zhì)?來聽聽我的

    這幾年除了手機(jī)作為智能生活終端最主要的核心之外,第二個(gè)可以成為中心點(diǎn)的產(chǎn)品是什么?——是智能音箱。 手機(jī)在執(zhí)行命令的時(shí)候有兩種操作方式,手和智能語音助手,而智能音箱只
  • 讓我們一起聊聊文件的操作

    文件【1】文件是什么?文件是保存數(shù)據(jù)的地方,是數(shù)據(jù)源的一種,比如大家經(jīng)常使用的word文檔、txt文件、excel文件、jpg文件...都是文件。文件最主要的作用就是保存數(shù)據(jù),它既可以保
  • JavaScript學(xué)習(xí) -AES加密算法

    引言在當(dāng)今數(shù)字化時(shí)代,前端應(yīng)用程序扮演著重要角色,用戶的敏感數(shù)據(jù)經(jīng)常在前端進(jìn)行加密和解密操作。然而,這樣的操作在網(wǎng)絡(luò)傳輸和存儲(chǔ)中可能會(huì)受到惡意攻擊的威脅。為了確保數(shù)據(jù)
  • 一個(gè)注解實(shí)現(xiàn)接口冪等,這樣才優(yōu)雅!

    場(chǎng)景碼猿慢病云管理系統(tǒng)中其實(shí)高并發(fā)的場(chǎng)景不是很多,沒有必要每個(gè)接口都去考慮并發(fā)高的場(chǎng)景,比如添加住院患者的這個(gè)接口,具體的業(yè)務(wù)代碼就不貼了,業(yè)務(wù)偽代碼如下:圖片上述代碼有
  • 網(wǎng)傳小米汽車開始篩選交付中心 建筑面積不低于3000平方米

    7月7日消息,近日有微博網(wǎng)友@長(zhǎng)三角行健者爆料稱,據(jù)經(jīng)銷商集團(tuán)反饋,小米汽車目前已經(jīng)開始了交付中心的篩選工作,要求候選場(chǎng)地至少有120個(gè)車位,建筑不能低
  • 超級(jí)標(biāo)準(zhǔn)版旗艦!iQOO 11S全球首發(fā)iQOO超算獨(dú)顯芯片

    上半年已接近尾聲,截至目前各大品牌旗下的頂級(jí)旗艦都已悉數(shù)亮相,而下半年即將推出的頂級(jí)旗艦已經(jīng)成為了數(shù)碼圈爆料的主流,其中就包括全新的iQOO 11S系
  • 世界人工智能大會(huì)國(guó)際日開幕式活動(dòng)在世博展覽館開啟

    30日上午,世界人工智能大會(huì)國(guó)際日開幕式活動(dòng)在世博展覽館開啟,聚集國(guó)際城市代表、重量級(jí)院士專家、國(guó)際創(chuàng)新企業(yè)代表,共同打造人工智能交流平臺(tái)。上海市副市
Top