3 回答

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ù)雜性。

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);

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)。
添加回答
舉報(bào)