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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

測試循環(huán)在頂部還是底部?(while vs. while while)

測試循環(huán)在頂部還是底部?(while vs. while while)

當(dāng)我在大學(xué)(80年代中期)上CS時(shí),不斷重復(fù)的想法之一就是總是編寫循環(huán),在測試的頂部(while ...)而不是底部(do ... while)進(jìn)行測試。環(huán)。這些概念通常以研究為依據(jù),這些研究表明,在頂部進(jìn)行測試的循環(huán)比在底部進(jìn)行測試的循環(huán)更可能是正確的。結(jié)果,我?guī)缀蹩偸菍懺谧钌厦鏈y試的循環(huán)。如果它在代碼中引入了額外的復(fù)雜性,我不會(huì)這樣做,但是這種情況似乎很少。我注意到有些程序員傾向于幾乎完全編寫在底部進(jìn)行測試的循環(huán)。當(dāng)我看到類似的構(gòu)造:if (condition){    do    {       ...    } while (same condition);}或反數(shù)(if在里面while),這使我想知道他們是否實(shí)際上是這樣寫的,或者if當(dāng)他們意識(shí)到循環(huán)不處理空值情況時(shí)是否添加了語句。我已經(jīng)進(jìn)行了一些谷歌搜索,但是未能找到有關(guān)該主題的任何文獻(xiàn)。你們(和女孩)如何編寫循環(huán)?
查看完整描述

3 回答

?
人到中年有點(diǎn)甜

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超7個(gè)贊

我始終遵循以下規(guī)則:如果它應(yīng)該運(yùn)行零次或多次,請(qǐng)?jiān)陂_始時(shí)進(jìn)行測試;如果它必須運(yùn)行一次或多次,請(qǐng)?jiān)谧詈筮M(jìn)行測試。我看不到使用您在示例中列出的代碼的任何邏輯原因。它只會(huì)增加復(fù)雜性。


查看完整回答
反對(duì) 回復(fù) 2019-12-04
?
繁星點(diǎn)點(diǎn)滴滴

TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超3個(gè)贊

如果要在循環(huán)的第一次迭代之前測試條件,請(qǐng)使用while循環(huán)。


當(dāng)您要在運(yùn)行循環(huán)的第一次迭代后測試條件時(shí),請(qǐng)使用do-while循環(huán)。


例如,如果您發(fā)現(xiàn)自己正在執(zhí)行以下兩個(gè)片段之一:


func();

while (condition) {

   func();

}


//or:


while (true){

    func();

    if (!condition) break;

}

您應(yīng)該將其重寫為:


do{

    func();

} while(condition);


查看完整回答
反對(duì) 回復(fù) 2019-12-04
?
DIEA

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超2個(gè)贊

避免do/ while確實(shí)有助于使我的代碼更具可讀性嗎?


沒有。


如果使用do/ while循環(huán)更有意義,請(qǐng)這樣做。如果需要在測試條件之前執(zhí)行一次循環(huán)主體,則do/ while循環(huán)可能是最直接的實(shí)現(xiàn)。


查看完整回答
反對(duì) 回復(fù) 2019-12-04
  • 3 回答
  • 0 關(guān)注
  • 722 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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