爛 code 收集器//海海 if-else
¶爛 code 收集器//海海 if-else
原文連結: https://darkblack02.blogspot.com/2018/07/code-if-else.html
移植時的最後更新日期: 2020-02-28T10:41:21.353+08:00
今天要來說說這個寫法的故事
while(true)
{
if (xxx){
//…
break;
}
if (xxx){
//…
break;
}
if (xxx){
//…
break;
}
if (xxx){
//…
break;
}
if (xxx){
//…
break;
}
}
先不要往下看,先猜猜這樣寫是為了什麼心中有答案了嗎?
故事開始囉
一般來說,常見的 if-else 會像這樣
if (xxx)
//…
else if (xxx)
//…
else if (xxx)
//…
else if (xxx)
//…
else
//…
這樣其實只能算是常見的小海。而且經過實驗,某些 complier 還有 if-else 數量上的限制。(有必要實驗這個時,也是很天才的code)
經過天才的思考,捨棄了上述的方式,改用下面這個方式。
while(true)
{
if (xxx){
//…
break;
}
if (xxx){
//…
break;
}
if (xxx){
//…
break;
}
if (xxx){
//…
break;
}
if (xxx){
//…
break;
}
}
還是 if-else 海,雖然突破了某 complier 的數量限制,但是卻大幅犧牲了可讀性
if (xxx){
//… break;
}
if (xxx){
//… break;
}
if (xxx){
//… break;
}
//…(超過限制的if-else)
break;
}
無言的聲音:
用個 switch-case 有這麼困難嗎?加個enum嘛!
也許該考慮用工廠模式呀!!
發表於
tags:
{ 爛 code 收集器 }