第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在討論單元測試時,“DAMP not DRY”是什么意思?

在討論單元測試時,“DAMP not DRY”是什么意思?

阿晨1998 2019-07-23 16:22:19
在討論單元測試時,“DAMP not DRY”是什么意思?我聽說有人說單元測試(例如nUnit,jUnit,xUnit)應(yīng)該是DAMP未干(例如,單元測試應(yīng)該包含“潮濕代碼”而不是“干代碼”)他們在說什么?
查看完整描述

3 回答

?
慕少森

TA貢獻2019條經(jīng)驗 獲得超9個贊

這是一種平衡,而不是矛盾

DAMP和DRY并不矛盾,而是它們平衡了代碼可維護性的兩個不同方面。可維護的代碼(易于更改的代碼)是此處的最終目標(biāo)。

DAMP(描述性和有意義的短語)促進了代碼的可讀性

要維護代碼,首先需要了解代碼。要理解它,你必須閱讀它。考慮一下您花多少時間閱讀代碼。這是很多。 DAMP通過減少讀取和理解代碼所需的時間來提高可維護性。

DRY(不要重復(fù)自己)促進代碼的正交性。

刪除重復(fù)可確保系統(tǒng)中的每個概念在代碼中都具有單個權(quán)威表示。對單個業(yè)務(wù)概念的更改會導(dǎo)致對代碼的單個更改。DRY通過將變更(風(fēng)險)僅隔離到必須更改的系統(tǒng)部分來提高可維護性。

那么,為什么復(fù)制在測試中更容易接受?

測試通常包含固有的重復(fù),因為它們一遍又一遍地測試相同的東西,只是輸入值或設(shè)置代碼略有不同。但是,與生產(chǎn)代碼不同,此復(fù)制通常僅與單個測試夾具/文件中的方案隔離。因此,重復(fù)是最小和明顯的,這意味著它比其他類型的重復(fù)對項目造成的風(fēng)險更小。

此外,刪除這種重復(fù)會降低測試的可讀性。之前在每個測試中重復(fù)的細(xì)節(jié)現(xiàn)在隱藏在一些新的方法或類中。為了全面了解測試結(jié)果,您現(xiàn)在必須將所有這些部件重新組合在一起。

因此,由于測試代碼重復(fù)通常風(fēng)險較小,并且提高了可讀性,因此很容易看出它被認(rèn)為是可接受的。

作為一個原則,在生產(chǎn)代碼中支持DRY,在測試代碼中支持DAMP。雖然兩者同樣重要,但只要有一點點智慧,你就可以為自己提供平衡。


查看完整回答
反對 回復(fù) 2019-07-23
?
慕田峪7331174

TA貢獻1828條經(jīng)驗 獲得超13個贊

DAMP - 描述性和有意義的短語。

“DAMP not DRY”重視代碼重用的可讀性。在測試用例中DAMP不干的想法是測試應(yīng)該易于理解,即使這意味著測試用例有時會重復(fù)代碼。

另請參閱單元測試中是否可以容忍重復(fù)代碼?關(guān)于這一觀點的優(yōu)點的一些討論。

它可能是由Jay Fields創(chuàng)建的,與Domain Specific Languages相關(guān)。


查看完整回答
反對 回復(fù) 2019-07-23
?
Cats萌萌

TA貢獻1805條經(jīng)驗 獲得超9個贊

“干”是“不要重復(fù)自己”

這個術(shù)語用于告訴人們編寫可重用的代碼,這樣您就不會一遍又一遍地編寫類似的代碼。

“DAMP”是“描述性和有意義的短語”。

這個術(shù)語旨在告訴您編寫代碼,這些代碼可以讓正在查看它的人輕松理解。如果您遵循這一原則,您將擁有長而描述性的變量和函數(shù)名稱等。


查看完整回答
反對 回復(fù) 2019-07-23
  • 3 回答
  • 0 關(guān)注
  • 852 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號