Article 58T9C CodeSOD: Switched Requirements

CodeSOD: Switched Requirements

by
Remy Porter
from The Daily WTF on (#58T9C)

Code changes over time. Sometimes, it feels like gremlins sweep through the codebase and change it for us. Usually, though, we have changes to requirements, which drives changes to the code.

Thibaut was looking at some third party code to implement tooling to integrate with it, and found this C# switch statement:

 if (effectID != 10){switch (effectID){case 21:case 24:case 27:case 28:case 29:return true;case 22:case 23:case 25:case 26:break;default:switch (effectID){case 49:case 50:return true;}break;}return false;}return true;

I'm sure this statement didn't start this way. And I'm sure that, to each of the many developers who swung through to add their own little case to the switch their action made some sort of sense, and maybe they knew they should refactor, they need to get this functionality in and they need it now, and code cleanliness can wait. And wait. And wait.

Until Thibaut comes through, and replaces it with this:

switch (effectID){case 10:case 21:case 24:case 27:case 28:case 29:case 49:case 50:return true;}return false;
otter-icon.png [Advertisement] Otter - Provision your servers automatically without ever needing to log-in to a command prompt. Get started today! TheDailyWtf?d=yIl2AUoC8zAhxsLV--a4Uw
External Content
Source RSS or Atom Feed
Feed Location http://syndication.thedailywtf.com/TheDailyWtf
Feed Title The Daily WTF
Feed Link http://thedailywtf.com/
Reply 0 comments