Wolf3d Haven Forum

Please log in or register. Smile

Join the forum, it's quick and easy

Wolf3d Haven Forum

Please log in or register. Smile

Wolf3d Haven Forum

Would you like to react to this message? Create an account in a few clicks or log in to continue.
Wolf3d Haven Forum

A friendly Wolfenstein 3D community, about Wolfenstein 3D, the game that gave birth to first person shooters...


    Why I do things the way I do

    Dr.Zin
    Dr.Zin
    Bring em' On!
    Bring em' On!


    Male
    Number of posts : 180
    Age : 40
    Location : Nowhere
    Message : General Programmer
    World of Tanks Username: ToreHund
    Registration date : 2010-08-11

    Why I do things the way I do Empty Why I do things the way I do

    Post by Dr.Zin Tue Aug 30, 2011 8:03 pm

    Don't take this as me being pretentious and wanting to distribute my "manifesto". That isn't the case, rather, I am explaining why people often receive terse or seemingly corrective remarks from me in regards to Wolf3d modding and coding in general, which may actually have some people thinking I am a complete dick.

    Less is more - That is right, I am a bit of a minimalist. Many times it isn't how many features an application has but rather how well the features are implemented. Frankly I'd rather have 5 well designed and implemented features than 20 crammed together by a saws-all and duct-tape. I notice quite a few people here are feature-freaks and while that is okay, are you worried more about how many features there are in a game or are you worried about the quality? Do you equate quantity with quality? A hundred features doesn't impress me because more often than not each feature is implemented in a way that seems forced or just tacked on with some cheap scotch tape.

    If it is hacky, I don't do it - If something has to be put in with power tools and duct-tape it isn't worth putting it in in the long run. This is because hacky code is almost always buggy code. Like anything there are exceptions to the rule but more often than not the hacks and slashes needed to implement a feature aren't worth the perceived aesthetic bonus. Long term bugs will appear and depending on how much the system utilizes that feature, you could actually end up with a very serious headache at the very least months down the line and eternally buggy or even broken code at the very most. It looks cool now but in a month you'll be kicking yourself when you have to roll back your code 10 revisions because there is just no way to fix the problem otherwise.

    There is no shame in copypaste - That is right, there is NO SHAME WHAT SO EVER in copying and pasting code from a tutorial, from another mod's source code or trying to recall a 200-line code modification from memory (which you can't sorry, you just can't), because just as quickly as you copy-pasted you can modify and adapt it to your own needs and often times it saves you time because modifying and adapting can be very time consuming! If I spent every second of my time writing out new code character by character I'd never get anything done. I'm not starting from scratch in the first place and if there is a big feature with a lot of code modifications to be made I'd much rather copy-paste from my library of code changes (in the form of DIFF's mostly). In the end I will be spending just as much time on the adaptation and modification of said code as I would be writing it out line by line by line. Sometimes working smart is indeed the best option otherwise I'd get burnt out very quickly. If it makes your private parts feel bigger to type it out, go right on ahead, meanwhile I'll be busy with making progress and adapting code for what I need it to do.

    I do hope this explains a lot of why I often respond the way I do. I just happen to be a very conservative programmer with getting actual, tangible work done than being concerned about the size of my e-p3n0r and l33t-4zz coding skillz.



    If a packet hits a pocket on a socket on a port,
    and the bus is interupted as a very last resort,
    and the address of the memory makes your floppy disk abort
    then the socket packet pocket has an error to report!

    http://radix-16.com/
    Wolf3d Chat

      Current date/time is Fri Apr 26, 2024 3:27 pm