一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

北匯信息POLELINK ? 2025-02-26 10:05 ? 次閱讀

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

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

1.測(cè)試代碼

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

2.審查文檔

檢查原始需求和功能說明,了解代碼的來源及其當(dāng)前運(yùn)行機(jī)制,識(shí)別可能不符合新用途的缺失部分。

3.僅重寫必要代碼

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

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

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

5.分階段實(shí)施變更

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

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

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

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

例如遵循企業(yè)編碼最佳實(shí)踐,并符合適用的編碼標(biāo)準(zhǔn)。

8.謹(jǐn)慎嘗試AI工具

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

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

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

未來維護(hù)建議

為避免遺留代碼的長(zhǎng)期維護(hù)問題,在編寫或更新代碼時(shí):

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

總結(jié)

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

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

    關(guān)注

    4

    文章

    244

    瀏覽量

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

    關(guān)注

    30

    文章

    4880

    瀏覽量

    69995
  • 軟件測(cè)試
    +關(guān)注

    關(guān)注

    2

    文章

    236

    瀏覽量

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

    關(guān)注

    0

    文章

    10

    瀏覽量

    2106
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

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

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

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

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

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

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

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

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

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

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

    隨著嵌入式軟件復(fù)雜性的提高和需求量的增加,如何提高低效的傳統(tǒng)嵌入式軟件開發(fā)方法成為嵌入式領(lǐng)域研究的一個(gè)重點(diǎn)。構(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)勢(shì)分析

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

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

    嵌入式行業(yè)可以說從幕后走到前臺(tái),大家對(duì)他都很熟悉了,我國(guó)嵌入式人才缺口每年在50萬左右,相關(guān)調(diào)查報(bà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ā)的特點(diǎn)、設(shè)計(jì)流程、嵌入式軟件的結(jié)構(gòu)

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

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

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

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

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

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

    嵌入式軟件開發(fā)軟件開發(fā)是兩個(gè)不同的概念,它們?cè)谝恍╆P(guān)鍵方面有著明顯的區(qū)別。嵌入式軟件開發(fā)是指開發(fā)
    的頭像 發(fā)表于 01-22 15:27 ?2700次閱讀