我已經寫了,看起來像這樣的switch語句:是case statement1 + statement2:糟糕的編碼?
switch(statement){
case statement1:
break;
case statement2:
break;
case statement3:
break;
case statement4:
break;
case statement1 + statement2:
break;
case statement1 + statement3:
break;
case statement1 + statement4:
break;
default:
break;
}
與標題中定義的這樣的語句:
#define statement1 999
#define statement2 32898
#define statement3 32899
#define statement4 32900
這編譯並工作正常使用visual studio 2003.
對我而言,這是提供更多的陳述而不需要定義更多的變量。根據之前的代碼中選擇的語句,允許我有不同的選項。
社區如何看待此代碼?公認?不好的做法?避免的?
我能看到的唯一風險是如果有定義33897,33898,33899。
規則是,案例標籤基本上需要編譯時數字常量。你問到的更多是個人風格問題,這是一個非常主觀的問題,在這裏不太適合。 –
if-else語句對我來說似乎更好。 –
@Someprogrammerdude哦,不,這是非常客觀可怕的。(a)因爲常量不是2個標誌的權力,所以它們的加法不會產生唯一的值,並且(b)使它們變成宏而不是不變,這會導致名稱污染。 –