Refactoring horrible nested if-else statements
I wrote this at some point this week, I was looking back at it tonight and released how truly awful it looks:
if(filePath.Contains(“.CSS”))
return true;
else
return false;
else if(filePath.Contains(“.JS”))
return true;
else
return false;
else if(filePath.Contains(“_STR”))
return true;
else
return false;
else if(filePath.Contains(“.VBS”))
return true;
else
return false;
else if(filePath.Contains(“.HTM”))
return true;
else
return false;
else if(filePath.Contains(“.BMP”))
return true;
else
return false;
else if(filePath.Contains(“GIF”))
return true;
else
return false;
Terrible huh? What was I thinking?
How much better does this look:
bool copyFile;
copyFile = (filePath.Contains(“.CSS”)) ? true:
(filePath.Contains(“.JS”)) ? true:
(filePath.Contains(“_STR”)) ? true:
(filePath.Contains(“.VBS”)) ? true:
(filePath.Contains(“.HTM”)) ? true:
(filePath.Contains(“.BMP”)) ? true:
(filePath.Contains(“GIF”)) ? true:
false;
return copyFile;
Take from:
http://www.jimmycollins.org/blog/?p=454#respond
Cookie Limitations Convert foreach loop to Linq code