The Refactorer



  • Our team has a Refactorer. You know the type, someone who simply can't live with code written by anyone else, so they refactor it to make it their own.

    Our Refactorer recently went on a rewriting rampage that brought him to all corners of our codebase. He broke up many classes while combining others. He took what was 6 lines of SQL embedded in a shell script and turned it into a main program, 4 interfaces at various levels, two service layers and a GUI (which did nothing but present the user a single button that said "Execute").

    Unfortunately, he only edited the code and checked it in. He left the actual compiling and testing for us. Unfortunately, he didn't mention this to the managers when he told them that the refactoring was finished. Naturally, since it was "finished", they expected it deployed in two days. I had to send an email, after the fact, informing everyone that when this guy says "it's finished", what he really meant was "coded but not compiled or tested" and that perhaps a release was a bit premature. Literally 47 bug reports later, it was finally stable enough to hand to QA.

    Mind you, no new functionality was added. This was just so the code was in his image.

    I should start doing some wtf coding just to teach this guy a lesson.

     



  •  I think you should refactor his PC. New motherboard, RAM, CPU, whatever. Leave him a note notifying him of the change and let him now that you're done. Ok, maybe there's an uplugged PSU cable here, an incompatible DIMM there, maybe you forgot to clone a partition, WIndows needs to be reinstalled, etc, etc, you didn't really turn it on afterwards, but really, you're done.



  • @DOA said:

     I think you should refactor his PC. New motherboard, RAM, CPU, whatever. Leave him a note notifying him of the change and let him now that you're done. Ok, maybe there's an uplugged PSU cable here, an incompatible DIMM there, maybe you forgot to clone a partition, WIndows needs to be reinstalled, etc, etc, you didn't really turn it on afterwards, but really, you're done.

    Twenty years ago I did essentially just that to someone who was messing with me. Everyone laughed it off. Today you get fired for destruction of corporate property. Ah, for the good old days when you could screw someone over...



  •  Just write all your new code in Malbolge.  He'll never be able to figure out what it does.


  • Considered Harmful

    Some people, when faced with a refactorer, think, "I know, I'll use Malbolge." They now have many problems.



  • You'd be surprised how little language acts as a barrier for truly determinated people.


  • Considered Harmful

    The first working Malbolge program emerged two years after the interpreter was released. It took eight years for a working "99 Bottles of Beer" program written in Malbolge to appear.

    Here is Hello, World! in Malbolge:

    ('&%:9]!~}|z2Vxwv-,POqponl$Hjig%eB@@>}=<M:9wv6WsU2T|nm-,jcL(I&%$#"

    CB]V?Tx&lt;uVtTRpo3NlF.Jh++FdbCBA@?]!~|4XzyTT43Qsqq(Lnmkj"Fhg${z@>



  • I had to lookup Malbodge on WP as I've never heard of it. Holy crap. I thought Brainfuck was evil.



  • @snoofle said:

    Twenty years ago I did essentially just that to someone who was messing with me. Everyone laughed it off. Today you get fired for destruction of corporate property. Ah, for the good old days when you could screw someone over...

    Twenty years ago I worked with a guy who decided to mess with a someones computer. One of the ways he messed with it was to write a process that modified the display controller and made the screen wiggle up and down every so often. After that had run for a while he added a high pitched whine from the computers speaker and increased the amount of screen wiggle. Eventually the computer's owner got so annoyed with it that he ordered a new screen - which magically managed to solve the problem!

    This same person also hacked a compiler (possibly on the same computer) and got it to include some mildly nefarious code in each exe produced - sort of like Ken Thompson's Reflections on Trusting Trust



  • I think you should work out how much employee time this person's refactoring is costing and quietly let their supervisor know.

    This is because my first thought on reading this story is "how is this person still drawing a salary?"



  • While Malbolge is nice for producing line noise, I think INTERCAL is more appropriate. It will still look like code to your boss, and if you're lucky, it will lure your Refactorer into a deadly trap.

    If you like the GOTO instruction, you'll love COME FROM.


Log in to reply