Followers 0

# Unmaintainable code

## 59 posts in this topic

I refuse to believe this is how it was programmed.

He's got to be screwing with us. Obfuscation, perhaps?

2

##### Share on other sites

I refuse to believe this is how it was programmed.

He's got to be screwing with us. Obfuscation, perhaps?

Ohhh that would be quite the entertaining possibility :D

2

##### Share on other sites

When I opened that link, for some reason it dropped me 2/3 of the way down the page. There was code on the far right side of my screen... none of it looked remotely intelligible...

I scrolled up a few lines, and noticed there were comments that were equally unintelligible...

I thought to myself, "I bet they have a whole bunch of uncommented global variables with less-than-perfectly descriptive names." I wasn't disappointed. Then I realized I was, in fact, *very* disappointed.

At least comparing my code to theirs makes me feel a little better about myself as a programmer.

1

##### Share on other sites

According to the copyright he worked on this for 7 years.

How do you…

Words fail.

L. Spiro

mouhouhaha, I love.

1

##### Share on other sites

Wow theres one hell of an if statement in there:

if(((((findLengthfast(&rotatetarget)>150&&(i!=0&&k!=0))||(findLengthfast(&rotatetarget)>50&&player[0].rabbitkickragdoll/*currentanimation==rabbitkickanim*/&&(i==0||k==0)))&&normaldotproduct(rotatetarget,player[k].coords-player[i].coords)>0)&&((i==0||k==0)||((player[i].skeleton.oldfree==1&&k!=0&&animation[player[k].currentanimation].attack==neutral)||(player[k].skeleton.oldfree==1&&i!=0&&animation[player[i].currentanimation].attack==neutral)||(player[i].isFlip()&&!player[i].skeleton.oldfree&&(i==0||k==0))||(player[k].isFlip()&&!player[k].skeleton.oldfree&&(i==0||k==0))||(i==0||k==0))))||((player[i].targetanimation==jumpupanim||player[i].targetanimation==jumpdownanim||player[i].isFlip())&&(player[k].targetanimation==jumpupanim||player[k].targetanimation==jumpdownanim||player[k].isFlip())&&(i==0||k==0)&&(!player[i].skeleton.oldfree&&!player[k].skeleton.oldfree)))

1

##### Share on other sites
Wow theres one hell of an if statement in there:

You can see a lot of hard coded value in this hell too, this file is a joke from A to Z.

Imagine the scene : "We have to change the jump height value"
Programmer of this file : "WHAT ?!"

Edited by Alundra
2

##### Share on other sites

This needs a bump to show what not to do when writing code.

2

##### Share on other sites
<!-- Build website. -->
<exec dir="\${src-dir}"
executable="make"
failonerror="true"
searchpath="true"
>
<arg value="html-no-deps"/>
</exec>

Like using xml to write a "make html-no-deps" command-line?

Oh no, that's normal practice.

1

##### Share on other sites

I nearly choked when I saw the number of externs he had. Dose this even run?

1

##### Share on other sites

My favourite line (7201): http://hg.icculus.org/icculus/lugaru/file/97b303e79826/Source/GameTick.cpp#l7201

 																										if(((((findLengthfast(&rotatetarget)>150&&(i!=0&&k!=0))||(findLengthfast(&rotatetarget)>50&&player[0].rabbitkickragdoll/*currentanimation==rabbitkickanim*/&&(i==0||k==0)))&&normaldotproduct(rotatetarget,player[k].coords-player[i].coords)>0)&&((i==0||k==0)||((player[i].skeleton.oldfree==1&&k!=0&&animation[player[k].currentanimation].attack==neutral)||(player[k].skeleton.oldfree==1&&i!=0&&animation[player[i].currentanimation].attack==neutral)||(player[i].isFlip()&&!player[i].skeleton.oldfree&&(i==0||k==0))||(player[k].isFlip()&&!player[k].skeleton.oldfree&&(i==0||k==0))||(i==0||k==0))))||((player[i].targetanimation==jumpupanim||player[i].targetanimation==jumpdownanim||player[i].isFlip())&&(player[k].targetanimation==jumpupanim||player[k].targetanimation==jumpdownanim||player[k].isFlip())&&(i==0||k==0)&&(!player[i].skeleton.oldfree&&!player[k].skeleton.oldfree))){

Edited by Alessio1989
1

##### Share on other sites

At first I thought my computer was being so slow it wasn't loading at all... then after a minute or so I decided to scroll for some reason. Oh god, what's with all that indentation O_O

I can't believe I just fell for it again

(waiting for the code in that post to load... then I remembered it shouldn't take even a second and then what software this was from)

1

##### Share on other sites

On the other hand, it shipped as part of a pretty damn successful indie title. On that score, not bad?

On that score even worse, I'd say, as it might give out the idea that this is the way to write successful titles.  Sure, you can't argue with the success, but the ends don't justify the means.

I note from their blog post announcing it's release: "The coding style is what you might expect from a self-taught high school student, so it could be a challenge to understand" so at least the author(s) acknowledge it's dreadfulness (if in a somewhat understated way), and I've also found that some poor fool has (or had) a fork of the code with the intention of cleaning it up.  That's ... brave.

There's probably a moral to this story, something about not letting the endless quest for perfect code get in the way of actually getting stuff done, but this really does lie at one extreme whereas the ideal place to be would be somewhere in the middle.

As a self-taught high school student, YE GODS NO JESUS CHRIST PLEASE DON'T PLACE ME IN THE SAME CATEGORY AS THIS

1

## Create an account

Register a new account