1's and 0's
thedailywtf.com
thedailywtf.com
Then you will become indispensable. Managers will never know if your code is unmaintainable because software you wrote is inherently complicated or because you are an "awesome" programmer. New coders hired to maintain your codebase will admit failure quickly, or propose costly "total rewrites", so it becomes cheaper to keep you around.
Sadly, all this from experience on the receiving end. We ended up throwing away similar code and firing original developers, but we spent ungodly amounts of time at meetings first.
WTF clueless or diabolically brilliant?
I am ashamed.
LOC
LOC
The core app for the company I work for (a FORTE UDS piece of legacy code called OSIRIS) has similar strings embedded in the database, for things such as determining the user's profile (why make a lot of columns when you can have one column represent a lot of values). It's obscure as hell.
This post reminded me I need to find alternatives soon - though it's hard to quit because the company I work for pays slightly above average wages for my country and has job security.
Recently I found this link which was an attempt to justify TDD/BDD methods to program something then to unfactor it and make it significantly more complex. Not as awesome as the TDWTF post though.
http://rubyconf2008.confreaks.com/unfactoring-from-patterns....
Most of the code was approximately 20 years old. The original architects are probably dead.
And so was that project in about a year and a half... so I quit. I'm much happier now.
But the amusing part is the was proposed a full job and he refused it for a better paid one.
Until now, it is a bit miraculous he's product didn't exploded while trying to maintain it. And each time I propose to rewrite some part, it is refused because it seems too _risky_ to touch this code.
The worst is everybody is aware of the fact that this code cost very much. But nobody want to (or can) pay a bit extra immediately to redo the complete project with "clearly" some new bug that will certainly appear.
Of course, then you'd just be making a piece of shit work faster....
It also contains support for everything else from AJAX to the kitchen sink, since it originates with several independent (and competing) OS/programming-language/database systems, originating in the late '60s before worse-is-better ate everyone's lunch. It even works as a RAD environment (plus a webserver, an SQL database, an OO programming language, and a go-between for other systems' incompatible message formats): very unusual (I expect the kitchen-sink module, or perhaps the mail reader, in the next version), but not primitive.
Its reputation is sullied by some WTF-worthy users, and by old coding conventions (now less completely abandoned than they should be) that were like Perl but hard to understand.
Full disclosure: I work for Intersystems, but not in Sales, and this post is purely on my own initiative. (One does not pay people to make unflattering comparisons with Perl.)
Sorry but that sounds like a Frankenstein monster type of language/sdk/database. Now I am more scared of it than before ;-)
From the system I maintain:
/*
e - ExternalStatus
i - InternalStatus
e\i | D F N X
--------------------------
D | A B C D
F | E F G H
N | I J K L
X | M N O P
*/ switch( $inst->Status ) {
case 'A' : case 'D' : case 'M' :
$stats['d']++; break;
case 'E' : case 'F' : case 'G' : case 'H' :
case 'B' : case 'J' : case 'N' :
$stats['f']++; $stats['d']++; break;
default : $stats['n']++;
}Still deserves death, though
That'll shut him up.
I'll probably get more downvotes than you for this, and maybe even a "this belongs in Reddit" type comment, but you're obviously trying to pull "Winning by losing" on us. Besides, it's not a "prediction" if you say it after the event.
p.s. Your original comment was not very witty. :p