Programming Philosophy

I have decided to explain my programming philosophy to anyone that dares read it. My intention is to give you a little insight into how I work and complete projects, and to give you an idea of what to expect if I work on a project for you.

To start, here are a few "Rules and Practices" that I do my best to live by:

  • Have fun. I love to write code, and I love having fun doing it.
  • My work is never done until its perfect.
  • Perfection is impossible...there is always something else...
  • SDLC is your friend.
  • The user experience is key. If the user cannot use the system, then the system is junk.
  • Workarounds are evil. If you're going to do it...you better do it right. Even if that means rewriting the framework.
...and here are a few of my "Coding Rules and Practices":
  • Genericize everything you can. If you're going to write a class called "Porsche", it damn well better be inheriting from a generic "Vehicle" or of the like class.
  • Interfaces are there for a reason. Consistency is key!
  • Variable names like "i", "x" and "y" are EVIL and should not be used.
  • Variable prefixes like "int", "dbl", and "lng" are very helpful.
  • CamelCasingVariablesAndMethodsHelpsReadability.
  • White space is your friend.
  • Line breaks are your friend.
  • Hard coding should be used minimally (if at all), and only in cases where it is absolutely necessary.
  • try
    {
    }
    catch (Exception e)
    {
    }

    is a *necessity*.
  • Make descriptive functions. If your function is used to, for instance, save contact information...you should probably call it "SaveContactInformation()" instead of a more generic name like "DoStep1()".

Copyright 2009, NinjaPuffer Enterprises