1. gzyueqian
      13352868059

      嵌入式開發(fā):更新遺留代碼的5個技巧

      更新時間: 2022-05-05 09:42:58來源: 粵嵌教育瀏覽量:9488

        開始一個新的開發(fā)項目總是令人興奮的,但在嵌入式開發(fā)中,一些最有趣和最具挑戰(zhàn)性的項目往往是如何更新遺留代碼庫。目前市場上有很多產(chǎn)品已經(jīng)生產(chǎn)多年,如果不是十年或更長時間。這些代碼庫雖然功能強大且功能豐富,但通常使用不太適合現(xiàn)代軟件開發(fā)的技術(shù)編寫。

        團隊經(jīng)常因遺留代碼庫而苦苦掙扎,原因如下:

        功能和代碼大小的絕對數(shù)量(如果不是數(shù)百萬行代碼,則為 100,000 行)

        應(yīng)用程序代碼和硬件之間的緊密耦合

        過時的工具和開發(fā)流程

        無法有效地部署新開發(fā)人員來處理代碼庫

        雖然可能很容易從頭開始,但完全從頭開始的時間和金錢投資可能是不現(xiàn)實的。在這篇文章中,我們將研究團隊可以遵循的幾個技巧來更新他們的遺留代碼項目。

        技巧1 – 審核你的應(yīng)用程序代碼

        在嘗試對任何遺留代碼庫進行現(xiàn)代化改造之前,團隊?wèi)?yīng)該審核代碼庫。審計可以由公司團隊成員執(zhí)行,審計可以幫助團隊準(zhǔn)確了解他們的代碼當(dāng)前所處的位置以及他們必須使用的內(nèi)容。

        審計的輸出應(yīng)該是多倍的。首先,嵌入式開發(fā)團隊?wèi)?yīng)該了解代碼庫當(dāng)前的位置。這應(yīng)該包括了解當(dāng)前架構(gòu)(或缺乏架構(gòu))、特性、功能目的和復(fù)雜性。其次,應(yīng)制定代碼庫現(xiàn)代化的主要挑戰(zhàn)清單。可能存在需要仔細(xì)考慮和努力進行現(xiàn)代化的關(guān)鍵代碼區(qū)域、功能等。這些應(yīng)該提前調(diào)用。最后,輸出應(yīng)該足以為如何使代碼庫現(xiàn)代化提供建議。這些建議應(yīng)該很容易被制作成一個軟件現(xiàn)代化計劃,該計劃可以與未來的功能開發(fā)集成,以使代碼與產(chǎn)品開發(fā)工作保持同步。

        技巧2 – 生成函數(shù)列表和依賴圖

        至少有兩個有用的函數(shù)相關(guān)資源對于代碼庫的現(xiàn)代化非常有用;函數(shù)列表和依賴圖。

        可以通過自動化工具生成功能列表并列出所有功能。它們位于代碼庫中,并根據(jù)它們所在的模塊進行組織。單個文件應(yīng)用程序?qū)⒅挥幸粋€列表,其中分解為 5 個模塊的應(yīng)用程序?qū)?5 個列表。函數(shù)列表對于需要模塊化的單片應(yīng)用程序很有幫助,因為函數(shù)列表可用于確定哪些函數(shù)組合在一起并應(yīng)分組到單獨的模塊中。

        函數(shù)依賴圖也可以自動生成,它可以幫助團隊了解哪些函數(shù)正在調(diào)用哪些函數(shù)以及它們之間的關(guān)系。依賴圖對于理解函數(shù)耦合非常有用,并且對于識別彼此相關(guān)的函數(shù)也非常有幫助。它們還可用于嘗試確定代碼中的自然邊界存在于何處,以便軟件可以開始分層。他們還可以展示糟糕的架構(gòu)設(shè)計,并幫助指導(dǎo)重新編寫代碼,以便在硬件驅(qū)動程序、應(yīng)用程序業(yè)務(wù)規(guī)則等類似問題的領(lǐng)域之間存在清晰的界限。

        


        技巧3 – 模塊化應(yīng)用程序

        今天有很多代碼仍然是作為一個單一的、單模塊的代碼庫編寫的,嵌入式開發(fā)團隊對代碼庫等進行現(xiàn)代化改造的第一步是模塊化應(yīng)用程序。拆分應(yīng)用程序可以:

        開始創(chuàng)建關(guān)注點分離

        簡化代碼合并過程,允許多個開發(fā)人員輕松地在項目上工作

        允許開發(fā)人員對模塊擁有所有權(quán)

        加快發(fā)展

        當(dāng)然還有更多優(yōu)勢,但是將應(yīng)用程序分解為包含類似功能的內(nèi)聚模塊將大大有助于代碼現(xiàn)代化。

        模塊化也不需要從嚴(yán)格的、封裝的、現(xiàn)代的實現(xiàn)開始。相同的概念可以應(yīng)用于大型遺留項目,只是沒有一個單獨的功能可以分開,而是十年的特性和功能。

        技巧4 – 通過增量改進實現(xiàn)現(xiàn)代化

        使代碼庫現(xiàn)代化的一種方法是逐步進行改進。很多團隊試圖對其遺留代碼進行重大更改以使其現(xiàn)代化。不幸的是,戲劇性的變化往往會導(dǎo)致戲劇性的錯誤和努力。與其試圖一次性進行巨大的結(jié)構(gòu)更改,或者從頭開始重寫所有內(nèi)容,不如團隊可以制定一個產(chǎn)品現(xiàn)代化計劃,概述將在多個軟件版本上進行的改進。

        建議團隊從容易實現(xiàn)的目標(biāo)開始。很多小的變化,可以立即有明顯的改善,這些變化可能是這樣的:

        降低功能復(fù)雜度

        模塊化關(guān)鍵任務(wù)代碼

        分離和隔離應(yīng)用程序和硬件相關(guān)代碼

        每個版本或每個 sprint 的微小增量更改都可以顯著改進代碼,而不會對產(chǎn)品功能開發(fā)產(chǎn)生不利影響。

        結(jié)論

        在今天的文章中,我們剛剛介紹了如何開始對遺留代碼庫進行現(xiàn)代化改造。重要的是要認(rèn)識到,如果要正確完成,更新不會很快或一夜之間完成。成功的更新工作將是漸進式的,但如果嵌入式開發(fā)團隊專注于代碼審計中確定的低風(fēng)險、高價值領(lǐng)域,收益幾乎是立竿見影的。

      免費預(yù)約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲一区二区三区在线看 | 亚洲精品国产精品国自产观看 | 香蕉啪视频在线观看视频久 | 日韩国产精品有吗在线 | 色婷婷综合激情中文在线 | 亚洲国产精品一区二区首页 |