the reason you write clean code

(02:26:08) Eric Heimburg: the reason you write clean code isn’t to be awesome, it’s so that you can spend that cleanliness at the proper moment of desperation. Like at the end of Plum Mountain’s 200 hour development, I had elegant code systems, which meant I could shit all over them to glue “place any number of things that are vaguely like flowers” logic onto it, and then the Kongregate API, and then loading and saving, and now… it’s crap. But I spent it well

(02:26:34) srand: You should post that.

This entry was posted in Programming. Bookmark the permalink.

7 Responses to the reason you write clean code

  1. David Armstrong says:

    I want to learn how to program and specifically how to make games.

    I’m speaking with DeVry to take their Games and Simulations program. Are they a good school, and do you know if that’s a good curriculum to take? Or would a more generic programming program serve me better?

  2. Stabs says:

    I suspect it’s better still not to find yourselves in moments of desperation.

  3. Tremayne says:

    Trust me – the reason you write clean code is to prevent live support programmers from hunting you down with a baseball bat :)

  4. Cryect says:

    @David, I would say don’t consider DeVry since I’ve never heard anyone in the industry talk well of them. Notice a lot of that is a lack of actual experience with them but that leads to skepticism. Only two gaming programs we’ve hired people from have been DigiPen and Full Sail’s game program (which we actually have like 4 or 5 people working from there currently). Note only one of those people we’ve hired fresh from college and the rest worked on other projects before ours.

    I will also note most successful programmers I know were self taught and dedicated to personal projects both before joining the gaming industry and still while in it, but this isn’t a requirement and a few have learned programming in college. Overall I think a general CS degree is just a good backup since if you don’t make it in the game industry you can easily find a job elsewhere. I’ve found a lot of use in my general CS degree with my emphasis at work on backend system though the more generalist game programmers are more likely to complain their degrees weren’t useful, which is due to general game programming is often more focused on basic logic instead of algorithms (last 2 years of a CS BS program you will be focused on algorithms/techniques for various specialties).

  5. Dataferret says:

    @David If you ever plan on touching lots of data, in either large quantities (tools) or high performance (backend), then for gods sake, take a CS algorithms course. I’d be wary of any curriculum that didn’t include it and purports itself to be preparing you for programming in the industry.

    50% of the time I’ve seen inelegant code bite someone really hard can be attributed to seat of the pants logic coding, and a startling lack of fundamentals. The other 50% is because they broke their abstractions too early.

  6. Sandra says:

    @Stabs: Good luck with that. ;)

    @Tremayne: Ah, but those live team programmers want you to hand them clean code so that they can maintain clean code that in the end, in the very end, when they hit the proper moment of desperation, they can spend that cleanliness in an epic drive to shove cool stuff in. For reference, see: AC1: Throne of Destiny, AC2: Legions.

  7. Bryan says:

    @David:

    Do not go to DeVry. I also suggest you not get a game development degree. I don’t work in the games industry ( I do more client/server network dev and ISV distribution dev ), but you’ll have a more solid, fundamental understanding of Software Engineer and Computer Sciences by attending a standard, high quality university. That doesn’t mean you should go to South Eastern University of Partying.

    A regular university will focus on the stuff you need to know to make games: low-level concepts, algorithms, memory management. DeVry will spend 2 weeks on pointers but spend 15 weeks on learning Object oriented analysis and design. Not that I disparage OOAD, but, I’ve also never met anyone in our company that got a job cuz they were good at SDLC. Instead, SDLC is expected and you can probably learn enough of it in an afternoon – what gets you jobs is the ability to execute fundamentals – binary trees, linked lists, etc – and specialized knowledge – codepages, networking, algorithms, etc.

    Also, have a solid resume and examples of why they should pick you. It’s an extremely competitive field. Get a generic degree. Build and Finish games in your spare time. Get “in” with people who know people in the industry. Do those 3 things and you’ll get a job if you’re good ( and you’ll know if you’re good cuz you did all 3 ).