99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

嵌入式軟件開發(fā)中遺留代碼的挑戰(zhàn)

北匯信息POLELINK ? 2025-02-26 10:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

大多數(shù)嵌入式軟件開發(fā)團隊在某個階段都需要使用遺留代碼,無論是出于成本考量,還是因為相比遷移到新代碼庫,復(fù)用現(xiàn)有代碼更為便捷。問題在于,遺留代碼的具體功能可能并不明確,這需要投入精力去理解,并編寫新的測試用例來驗證其是否仍能按預(yù)期運行。即使背景信息和測試用例仍然存在,遺留代碼也可能不符合當前的編碼規(guī)范,或無法滿足功能安全及安全標準的要求。

遺留代碼通常難以集成到其他系統(tǒng)、適配新數(shù)據(jù)格式或部署到現(xiàn)代平臺及云端托管環(huán)境。相關(guān)代碼可能已不再提供安全更新和補丁,供應(yīng)商或開源社區(qū)的支持也可能逐漸減少甚至消失。然而,如果使用遺留代碼不可避免,以下是一些最佳實踐建議:

1.測試代碼

創(chuàng)建特征測試(Characterization Tests)和單元測試,并使用靜態(tài)代碼分析器等代碼質(zhì)量工具,以理解代碼功能并揭示其在功能、性能、安全性和編碼標準合規(guī)性方面的問題。

2.審查文檔

檢查原始需求和功能說明,了解代碼的來源及其當前運行機制,識別可能不符合新用途的缺失部分。

3.僅重寫必要代碼

盡管重寫整個遺留代碼庫看似誘人,但此舉風(fēng)險極高:既耗費時間,又可能因知識不完整而引入缺陷或依賴性問題。更好的策略是選擇性重寫。

4.重構(gòu)遺留代碼

更務(wù)實的方案是逐步重構(gòu)——在不影響代碼功能或外部行為的前提下調(diào)整其結(jié)構(gòu)。重構(gòu)還能生成更“整潔”的代碼,易于理解維護且更少出錯。

5.分階段實施變更

避免一次性過多修改,否則管理、測試和修復(fù)的復(fù)雜度會不必要地增加。通過限制變更范圍,評審者能更清晰地審查改動,而非淹沒在大量變更中。

6.開發(fā)者協(xié)作

即使并非所有團隊成員都熟悉特定遺留代碼,也應(yīng)鼓勵團隊協(xié)作。這有助于共享代碼庫知識,同時減少時間和精力消耗,且“第二雙眼睛”的審查總是有益的。

7.保持新代碼規(guī)范

例如遵循企業(yè)編碼最佳實踐,并符合適用的編碼標準。

8.謹慎嘗試AI工具

為加速流程可考慮AI技術(shù),但需保持警惕。AI能快速重寫遺留代碼,但其輸出可能因訓(xùn)練數(shù)據(jù)和自身理解能力引入功能變化。不過,AI技術(shù)(如大語言模型LLM)正在持續(xù)改進,值得在結(jié)合人工解讀和專業(yè)經(jīng)驗的前提下進行實驗。

9.借助權(quán)威資源

可參考Michael C. Feathers和Martin Fowler等專家關(guān)于遺留代碼和重構(gòu)技術(shù)的著作。

未來維護建議

為避免遺留代碼的長期維護問題,在編寫或更新代碼時:

  • 采用廣泛認可的編碼標準
  • 編寫充分注釋和文檔化的代碼
  • 使用版本控制系統(tǒng)管理和追蹤代碼變更
  • 實施自動化持續(xù)測試,確保代碼隨時間推移仍保持功能性與可靠性
  • 關(guān)鍵是通過安全編碼技術(shù)、安全測試及靜態(tài)分析工具(如Perforce的Helix QAC和Klocwork),遵循代碼安全最佳實踐,最大限度降低軟件生命周期內(nèi)的安全風(fēng)險。

總結(jié)

對許多嵌入式團隊而言,遺留代碼的復(fù)用不可避免。但通過采用經(jīng)過驗證的技術(shù)和工具,混合新舊代碼的現(xiàn)代嵌入式項目仍能滿足安全與安規(guī)標準的要求。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式軟件
    +關(guān)注

    關(guān)注

    4

    文章

    245

    瀏覽量

    27259
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4895

    瀏覽量

    70499
  • 軟件測試
    +關(guān)注

    關(guān)注

    2

    文章

    238

    瀏覽量

    19137
  • 嵌入式軟件開發(fā)

    關(guān)注

    0

    文章

    10

    瀏覽量

    2157
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    嵌入式軟件開發(fā)的程序架構(gòu)

    嵌入式軟件開發(fā),包括單片機開發(fā),軟件架構(gòu)對于開發(fā)人員是一個必須認真考慮的問題。
    發(fā)表于 02-02 06:58

    嵌入式軟件開發(fā)與非嵌入式軟件開發(fā)的區(qū)別?

    嵌入式軟件開發(fā)與非嵌入式軟件開發(fā)區(qū)別?設(shè)備驅(qū)動開發(fā)與裸機驅(qū)動開發(fā)區(qū)別?
    發(fā)表于 04-02 06:29

    嵌入式軟件開發(fā)的特點有哪些呢

    儲存器資源。3.嵌入式軟件開發(fā)一般需要開發(fā)工具、目標系統(tǒng)、測試設(shè)備。4.嵌入式
    發(fā)表于 11-08 06:58

    什么是嵌入式軟件開發(fā)

    嵌入式軟件開發(fā)又是指什么?   隨著嵌入式軟件系統(tǒng)結(jié)構(gòu)越來越復(fù)雜,嵌入式軟件
    發(fā)表于 04-20 08:43 ?8953次閱讀

    嵌入式軟件開發(fā)的優(yōu)缺點淺談

    嵌入式軟件開發(fā)的優(yōu)缺點淺談 從事嵌入式軟件開發(fā)的好處是: 1 目前國內(nèi)外這方面的人都很稀缺。     
    發(fā)表于 11-28 15:40 ?3351次閱讀

    嵌入式軟件開發(fā)與Embedded-GIS

    1.嵌入式軟件開發(fā) 市場現(xiàn)狀 嵌入式操作系統(tǒng) 嵌入式軟件開發(fā)特點 嵌入式
    發(fā)表于 02-28 10:39 ?36次下載

    嵌入式軟件開發(fā)構(gòu)件技術(shù)的研究

    隨著嵌入式軟件復(fù)雜性的提高和需求量的增加,如何提高低效的傳統(tǒng)嵌入式軟件開發(fā)方法成為嵌入式領(lǐng)域研究的一個重點。構(gòu)件技術(shù)正是這樣一種前沿的
    發(fā)表于 12-27 15:59 ?32次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開發(fā)</b><b class='flag-5'>中</b>構(gòu)件技術(shù)的研究

    ARM嵌入式軟件開發(fā)

    ARM嵌入式軟件開發(fā)ARM嵌入式軟件開發(fā)ARM嵌入式軟件開發(fā)
    發(fā)表于 01-15 17:29 ?65次下載

    基于嵌入式軟件開發(fā)構(gòu)件技術(shù)的研究

    基于嵌入式軟件開發(fā)構(gòu)件技術(shù)的研究
    發(fā)表于 10-30 15:36 ?6次下載
    基于<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開發(fā)</b><b class='flag-5'>中</b>構(gòu)件技術(shù)的研究

    嵌入式軟件開發(fā)的優(yōu)勢分析

    為什么當今嵌入式行業(yè)會如此受歡迎呢?我們從事嵌入式軟件開發(fā)有什么好處嗎?小編就來說說我的看法吧,嵌入式軟件開發(fā)的優(yōu)勢我們可以從幾點來看。
    的頭像 發(fā)表于 12-21 15:23 ?5496次閱讀

    嵌入式軟件開發(fā)做什么?嵌入式開發(fā)培訓(xùn)學(xué)哪些

    嵌入式行業(yè)可以說從幕后走到前臺,大家對他都很熟悉了,我國嵌入式人才缺口每年在50萬左右,相關(guān)調(diào)查報告稱嵌入式軟件開發(fā)是未來幾年最熱門和最受歡迎的職業(yè)之一。但是還有很多人不知道
    發(fā)表于 11-03 10:36 ?19次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開發(fā)</b>做什么?<b class='flag-5'>嵌入式開發(fā)</b>培訓(xùn)學(xué)哪些

    嵌入式軟件開發(fā)的特點、設(shè)計流程、嵌入式軟件的結(jié)構(gòu)

    處理器內(nèi)部儲存器資源。3.嵌入式軟件開發(fā)一般需要開發(fā)工具、目標系統(tǒng)、測試設(shè)備。4.嵌入式
    發(fā)表于 11-03 15:21 ?38次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開發(fā)</b>的特點、設(shè)計流程、<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>的結(jié)構(gòu)

    嵌入式硬件的軟件開發(fā)工具趨勢

    嵌入式硬件的軟件開發(fā)工具趨勢
    的頭像 發(fā)表于 12-28 09:51 ?1366次閱讀

    嵌入式軟件開發(fā)流程

    電子發(fā)燒友網(wǎng)站提供《嵌入式軟件開發(fā)流程.ppt》資料免費下載
    發(fā)表于 11-17 14:37 ?4次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開發(fā)</b>流程

    嵌入式軟件開發(fā)軟件開發(fā)的區(qū)別

    嵌入式軟件開發(fā)軟件開發(fā)是兩個不同的概念,它們在一些關(guān)鍵方面有著明顯的區(qū)別。嵌入式軟件開發(fā)是指開發(fā)
    的頭像 發(fā)表于 01-22 15:27 ?2938次閱讀