91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

在重構(gòu)或重新設(shè)計(jì)時(shí)驗(yàn)證你的代碼

星星科技指導(dǎo)員 ? 來(lái)源:嵌入式計(jì)算設(shè)計(jì) ? 作者:Pierre-Henri ? 2022-06-06 09:37 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

這些概念之間的主要區(qū)別在于:重新設(shè)計(jì)意味著您修改軟件以更改其功能,而重構(gòu)則是努力修改其工作方式。

一切都是為了改變。

“當(dāng)源代碼被修改時(shí),我有哪些選擇來(lái)維護(hù)我現(xiàn)有的測(cè)試?” 這是我在與客戶交談時(shí)遇到的一個(gè)非常常見(jiàn)的問(wèn)題。

我的一些對(duì)話者指出他們必須重構(gòu)他們的軟件,其他一些人會(huì)談?wù)撝匦略O(shè)計(jì)的努力。

首先,我注意到這兩個(gè)與軟件更改相關(guān)的概念在人們的頭腦中并不總是很清楚,有時(shí)會(huì)在錯(cuò)誤的環(huán)境中使用。這些概念對(duì)您來(lái)說(shuō)可能非常清楚,但如果不是,這里有一些提示可以幫助您理解差異。

重新設(shè)計(jì)和重構(gòu)軟件有什么區(qū)別?

這些概念之間的主要區(qū)別在于:重新設(shè)計(jì)意味著您修改軟件以改變它的功能,而重構(gòu)則是努力修改它的工作方式。

出于多種原因進(jìn)行重新設(shè)計(jì)工作。例如,由于硬件更改,軟件需要在不同的 CPU 上運(yùn)行或必須處理新的外圍設(shè)備,因此需要修改或擴(kuò)展代碼以解決這些物理修改并提供新功能。當(dāng)軟件需要與新的或更新的 3 rd方庫(kù)交互時(shí),也可能發(fā)生重新設(shè)計(jì),這些庫(kù)提供了有益于您的應(yīng)用程序的新服務(wù)。您可能會(huì)找到許多其他重新設(shè)計(jì)的原因,但在大多數(shù)情況下,在此上下文中執(zhí)行的軟件更改會(huì)影響一般行為或修改后的應(yīng)用程序提供的功能。

與重新設(shè)計(jì)相反,重構(gòu)是努力優(yōu)化代碼的內(nèi)部實(shí)現(xiàn),以提高其可維護(hù)性并降低其總體運(yùn)營(yíng)成本。和許多人一樣,我相信 Martin Fowler 在他的“重構(gòu)書(shū)”中寫了軟件重構(gòu)的最佳定義之一:

“對(duì)軟件的內(nèi)部結(jié)構(gòu)進(jìn)行了更改,使其更易于理解且修改成本更低,而不會(huì)改變其可觀察到的行為?!?/p>

鑒于此定義,重構(gòu)通常由開(kāi)發(fā)人員在以下情況下執(zhí)行:

需要將技術(shù)債務(wù)控制在可容忍的水平,即低于從頭開(kāi)始重新構(gòu)建整個(gè)代碼看起來(lái)更經(jīng)濟(jì)的線以下。

降低復(fù)雜性和內(nèi)部依賴,使軟件更模塊化、更容易擴(kuò)展、對(duì)開(kāi)發(fā)團(tuán)隊(duì)中的新人更易讀和更易管理等。

確保隨著時(shí)間的推移,原始設(shè)計(jì)保持可理解和清晰,并保留其預(yù)期功能。。.。。.

鑒于我們現(xiàn)在對(duì)重新設(shè)計(jì)與重構(gòu)工作有了更清晰的了解,

哪些情況需要重新驗(yàn)證您的軟件?

好吧,軟件測(cè)試的本質(zhì)是它們主要檢查代碼是否符合其目的。換句話說(shuō),他們根據(jù)應(yīng)用程序的功能需求驗(yàn)證組成系統(tǒng)的每個(gè)軟件單元的行為是否符合預(yù)期。話雖如此,如果您嘗試重新設(shè)計(jì)代碼,則必須對(duì)其進(jìn)行測(cè)試以確保新功能已根據(jù)新引入的要求進(jìn)行驗(yàn)證,同時(shí)確保這些新擴(kuò)展不會(huì)在您現(xiàn)有的通過(guò)測(cè)試中引入回歸。

您可能會(huì)爭(zhēng)辯說(shuō),重構(gòu)工作只會(huì)影響軟件內(nèi)部結(jié)構(gòu),因此不一定會(huì)影響代碼接口和根據(jù)應(yīng)用程序需求交付的一般服務(wù)。是的,但是…… 像任何其他開(kāi)發(fā)活動(dòng)一樣,重構(gòu)是引入新錯(cuò)誤的一種非常簡(jiǎn)單的方法,因此您必須重新測(cè)試您的軟件。維護(hù)一組完整且詳盡的通過(guò)測(cè)試將確保您的重構(gòu)不會(huì)導(dǎo)致代碼中的回歸錯(cuò)誤未被檢測(cè)到。確實(shí),每當(dāng)您進(jìn)行小的更改時(shí),您都應(yīng)該重新執(zhí)行現(xiàn)有的測(cè)試作為安全網(wǎng),以檢查您沒(méi)有修改預(yù)期的行為。經(jīng)過(guò)一系列增量更改后,您將以安全的方式達(dá)到最初目標(biāo)的重構(gòu)狀態(tài)。

大多數(shù)組織希望通過(guò)在源代碼更改時(shí)更新這些測(cè)試來(lái)保留先前測(cè)試投資的價(jià)值。但這會(huì)導(dǎo)致高昂的測(cè)試維護(hù)成本。該解決方案并不像僅僅識(shí)別受代碼更改影響的受影響測(cè)試的子集以重新運(yùn)行(有時(shí)稱為測(cè)試影響分析或基于更改的測(cè)試)那么簡(jiǎn)單。測(cè)試維護(hù)的昂貴部分是開(kāi)發(fā)人員花費(fèi)在識(shí)別依賴關(guān)系和更新相應(yīng)測(cè)試以確保它們與修改后的軟件同步的工作。

那么適當(dāng)?shù)臏y(cè)試自動(dòng)化如何降低這些測(cè)試維護(hù)成本呢?

1) 通過(guò) 對(duì)代碼變更和測(cè)試依賴的初步分析:

· 了解正在測(cè)試的代碼的更改(通過(guò)保留上次測(cè)試時(shí)的代碼信息并將其與更改的代碼進(jìn)行比較)

· 識(shí)別哪些測(cè)試受到代碼更改的影響

· 在單個(gè)視圖中識(shí)別影響測(cè)試的所有代碼更改

· 識(shí)別可能影響現(xiàn)有測(cè)試實(shí)現(xiàn)的代碼覆蓋率的代碼更改

2) 通過(guò)為開(kāi)發(fā)人員提供自動(dòng)測(cè)試更新的指導(dǎo)選擇,以便重新同步源代碼和測(cè)試:

? 對(duì)于每個(gè)代碼更改,建議對(duì)測(cè)試腳本和用例進(jìn)行適當(dāng)?shù)母?/p>

? 自動(dòng)重構(gòu)測(cè)試腳本以節(jié)省時(shí)間和成本

3) 對(duì)于主要影響軟件內(nèi)部結(jié)構(gòu)的代碼更改,自動(dòng)生成安全網(wǎng)或通過(guò)測(cè)試的基線,以便:

? 在回歸測(cè)試或持續(xù)集成期間查明故障

? 識(shí)別可測(cè)試性問(wèn)題,例如無(wú)法訪問(wèn)的代碼

作為專業(yè)的軟件供應(yīng)商,QA Systems 敏銳地意識(shí)到在軟件修改的情況下控制測(cè)試維護(hù)成本的重要性。為了解決這個(gè)問(wèn)題,我們開(kāi)發(fā)了作為我們的測(cè)試解決方案 Cantata的一部分,一個(gè)代碼更改分析和管理功能以及一個(gè)AutoTest生成框架,它們是在您的軟件項(xiàng)目的整個(gè)生命周期中自動(dòng)化單元和集成測(cè)試維護(hù)的獨(dú)特技術(shù)。當(dāng)您需要管理測(cè)試時(shí),重新設(shè)計(jì)或重構(gòu)您的軟件不再是(煩人的)問(wèn)題!

審核編輯:郭婷

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

    關(guān)注

    68

    文章

    11294

    瀏覽量

    225350
  • 源代碼
    +關(guān)注

    關(guān)注

    96

    文章

    2953

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    安川伺服驅(qū)動(dòng)器警報(bào)代碼說(shuō)明

    的警報(bào)代碼按故障類型整理如下: 安川伺服驅(qū)動(dòng)器常見(jiàn)警報(bào)代碼速查表 電源、參數(shù)與硬件類 警報(bào)代碼 警報(bào)名稱 簡(jiǎn)要含義/原因 A.02 參數(shù)和數(shù)檢查異常 伺服單元內(nèi)部參數(shù)數(shù)據(jù)異常,可能需要重新設(shè)
    的頭像 發(fā)表于 03-13 07:35 ?420次閱讀
    安川伺服驅(qū)動(dòng)器警報(bào)<b class='flag-5'>代碼</b>說(shuō)明

    Cadence 推出 ChipStack? AI Super Agent,開(kāi)辟芯片設(shè)計(jì)與驗(yàn)證新紀(jì)元

    解決方案——ChipStack? AI Super Agent,標(biāo)志著重新定義半導(dǎo)體設(shè)計(jì)方式上邁出了變革性的一步。Cadence? ChipStack AI Super Agent 是全球首個(gè)用于自動(dòng)化
    的頭像 發(fā)表于 03-02 13:40 ?158次閱讀

    全球產(chǎn)業(yè)鏈重構(gòu)下:中國(guó)氣密性檢測(cè)企業(yè)的角色變化與出海破圈路徑

    全球產(chǎn)業(yè)鏈正在經(jīng)歷一場(chǎng)深刻的重構(gòu)。這場(chǎng)重構(gòu)的表象是工廠的地理遷移,本質(zhì)卻是質(zhì)量控制權(quán)的重新分配。在這個(gè)過(guò)程中,一個(gè)看似邊緣的行業(yè)——?dú)饷苄詸z測(cè)設(shè)備制造,正站在變革的中心位置。以深圳市精誠(chéng)工科
    的頭像 發(fā)表于 02-27 11:54 ?258次閱讀
    全球產(chǎn)業(yè)鏈<b class='flag-5'>重構(gòu)</b>下:中國(guó)氣密性檢測(cè)企業(yè)的角色變化與出海破圈路徑

    小型自重構(gòu)機(jī)器人能不能幫忙做一個(gè)?

    :ESP32S3 小主板 多個(gè)這樣的模塊**對(duì)接 → 形成自重構(gòu)機(jī)器人**。 要的話,我可以**直接給你 3D 圖紙(STL)**。 --- # 四、控制方案(我給你現(xiàn)成代碼) ## 核心邏輯
    發(fā)表于 02-21 19:24

    深入解析rk平臺(tái)Android Bootloader核心代碼:從啟動(dòng)流程到AVB驗(yàn)證

    作為Android設(shè)備啟動(dòng)的第一道“閘門”,Bootloader(以U-Boot為主)承擔(dān)著初始化硬件、加載內(nèi)核、驗(yàn)證鏡像完整性的核心職責(zé)。今天我們拆解Rockchip平臺(tái)
    的頭像 發(fā)表于 01-22 07:06 ?327次閱讀
    深入解析rk平臺(tái)Android Bootloader核心<b class='flag-5'>代碼</b>:從啟動(dòng)流程到AVB<b class='flag-5'>驗(yàn)證</b>

    高壓放大器激勵(lì)低頻可重構(gòu)磁電天線中的應(yīng)用

    根據(jù)磁電天線的機(jī)械振蕩原理,本研究提出了一種基于機(jī)械調(diào)節(jié)方法的超低頻可重構(gòu)磁電天線。該磁電天線的多維性能,如工作頻率、帶寬和品質(zhì)因數(shù)(Q),可以不破壞天線結(jié)構(gòu)的情況下在很大的動(dòng)態(tài)范圍內(nèi)進(jìn)行調(diào)整
    的頭像 發(fā)表于 01-16 16:32 ?146次閱讀
    高壓放大器<b class='flag-5'>在</b>激勵(lì)低頻可<b class='flag-5'>重構(gòu)</b>磁電天線中的應(yīng)用

    嘉楠科技與Bitforest加拿大啟動(dòng)3MW算力余熱回收概念驗(yàn)證項(xiàng)目

    新加坡時(shí)間2026年1月6日, 加密貨幣挖礦領(lǐng)域的創(chuàng)新企業(yè)嘉楠科技 (納斯達(dá)克股票代碼:CAN,以下簡(jiǎn)稱“嘉楠科技”“公司” ) 宣布,與 Bitforest Investment Ltd. 加拿大曼尼托巴省聯(lián)合啟動(dòng) 3 M
    的頭像 發(fā)表于 01-09 14:15 ?322次閱讀

    Cadence Conformal AI Studio三大核心引擎重塑IC驗(yàn)證

    Cadence 以 Conformal AI Studio 結(jié)合強(qiáng)化學(xué)習(xí)與分布式架構(gòu),全面升級(jí) LEC、低功耗驗(yàn)證和 ECO, AI 設(shè)計(jì)時(shí)代開(kāi)創(chuàng)新范式。
    的頭像 發(fā)表于 01-05 10:12 ?535次閱讀

    分析嵌入式軟件代碼的漏洞-代碼注入

    ,實(shí)現(xiàn)自己的目標(biāo)。當(dāng)函數(shù)返回時(shí),攻擊者還可以將指令要被送達(dá)的地址覆蓋重寫。 2、避免代碼注入 避免代碼注入的最佳方法是通過(guò)設(shè)計(jì)。 如果可以使用一種***不會(huì)出現(xiàn)漏洞的語(yǔ)言,那么這是最好的因?yàn)?b class='flag-5'>你
    發(fā)表于 12-22 12:53

    ZeroNews basic auth policy: 0代碼的HTTP站點(diǎn)追加安全可控的基本權(quán)限驗(yàn)證能力

    basic auth (基本權(quán)限驗(yàn)證)是HTTP標(biāo)準(zhǔn)協(xié)議 RFC 7235 條中定義的一層基本權(quán)限控制規(guī)范,當(dāng)外部請(qǐng)求訪問(wèn)設(shè)定了basic auth 規(guī)則的站點(diǎn)或者url時(shí),會(huì)強(qiáng)制要求輸入指定
    的頭像 發(fā)表于 11-04 18:27 ?1923次閱讀
    ZeroNews basic auth policy: 0<b class='flag-5'>代碼</b>為<b class='flag-5'>你</b>的HTTP站點(diǎn)追加安全可控的基本權(quán)限<b class='flag-5'>驗(yàn)證</b>能力

    AES和SM4算法的可重構(gòu)分析

    相似的實(shí)現(xiàn)過(guò)程,可以進(jìn)行可重構(gòu)設(shè)計(jì)。同時(shí),這兩種算法加解密過(guò)程中會(huì)頻繁使用寄存器來(lái)存儲(chǔ)數(shù)據(jù) 二、可重構(gòu)S盒設(shè)計(jì)思路 GF下,AES的S盒輸出公式為 Z=M(X^-1)+V,
    發(fā)表于 10-23 07:26

    技術(shù)解讀 | 光庭信息虛擬ECU技術(shù)賦能SOA化MCU軟件的早期驗(yàn)證與集成加速

    。當(dāng)前,傳統(tǒng)ECU開(kāi)發(fā)面臨兩大核心挑戰(zhàn): ? 1 功能重構(gòu)后的驗(yàn)證需求: ECU功能經(jīng)服務(wù)化分層重構(gòu)后,其實(shí)現(xiàn)方式發(fā)生根本性變化,必須進(jìn)行全面的重新
    的頭像 發(fā)表于 07-21 15:43 ?846次閱讀
    技術(shù)解讀 | 光庭信息虛擬ECU技術(shù)賦能SOA化MCU軟件的早期<b class='flag-5'>驗(yàn)證</b>與集成加速

    LE Classic BT斷開(kāi)連接后需要重新連接多少時(shí)間?

    我們正在做一個(gè)使用 CYW20819 模塊的項(xiàng)目,所以我們想問(wèn)一些信息,如下所示: 1。BLE Classic BT 斷開(kāi)連接后需要重新連接多少時(shí)間? 2。有支持自動(dòng)重新連接的示例嗎? 3。
    發(fā)表于 07-03 07:05

    Linux中,用新設(shè)置對(duì)CY7C65215重新編程后,如何啟用新設(shè)置?

    Linux 系統(tǒng)下,如何 1.用 Linux 中的編程新設(shè)置配置 CY7C65215? 如\"USB 串口配置實(shí)用程序\" 命令行 fwDownload.exe。 2.
    發(fā)表于 05-26 08:23

    頂升AGV以創(chuàng)新設(shè)計(jì)重構(gòu)物流柔性力

    工業(yè)4.0與智能制造深度融合的今天,物流設(shè)備的靈活性與場(chǎng)景適配性已成為企業(yè)競(jìng)爭(zhēng)的關(guān)鍵。作為AGV領(lǐng)域的核心技術(shù)模塊,頂升AGV延伸面板的作用有哪些?這一問(wèn)題的答案不僅關(guān)乎設(shè)備性能,更直接影響企業(yè)
    的頭像 發(fā)表于 04-25 17:03 ?699次閱讀