|
Tue
11
Jan '05
|
|
If you find this useful, you might like my other articles, too.
Sonja talks a little bit about wether a switch statement is a code smell or not but seems to miss the point. I think you should look at the amout of work/lines of code/whatever which is shared between all cases vs. the amount per case statement.
public void method(int a) {
// n-pre lines of code
switch (a) {
case 1:
// n-switch lines of code
break;
case 2:
// n-switch lines of code
break;
// some more cases
default:
break;
}
// n-post lines of code
}
If in this case n-pre or n-post are significantly larger than n-switch than I don’t think you could call the use of switch a code smell. If on the other hand n-pre/n-post are small or even worse zero, something could be wrong in the design. As soon as I find the time, I’ll try to make this into a PMD rule…