In every profession there are truisms that are as elusive as they get, but absolutely require you to come to terms with. Everyone discovers these with practice - some sooner and some later. With me, usually the latter tends to be the case . If something like this has happened to you, share your revelation and wisdom! The only thing you have to do with your thoughts is to put them in the form of a sage-sounding quotation so I can collect them in this post. Like this:
"The most difficult thing about game programming is not writing the code,
but understanding what the code is supposed to be doing."
- Irreversible, 2012
"Always code as if the guy who ends up maintaining your code
will be a violent psychopath who knows where you live."
- John Woods, 1991
"You should never delete/delete[] what you new/new[]
because you should be using smart pointers anyway.
And if you can validly disagree with me, I'm not talking to you."
- Cornstalks, 2013
"Always document your code."
- alnite, 2013
"Understand a bug first, before fixing it."
"I will always give the hardest tasks to the laziest worker, because then I'm sure,
that the most simple solution will be developed"
"Perfection is archieved not when there is nohgin more to add,
but when there is nothing left to take away"
“‘Warning’ is just a misspelling of ‘error’.”
“Keep It Simple, Stupid“
"Care About Your Craft -
Why spend your life developing software unless you care about doing it well?"
"Remember the Big Picture -
Don't get so engrossed in the details that you forget to check what's happening around you."
"Invest Regularly in Your Knowledge Portfolio -
Make learning a habit."
"Eliminate Effects Between Unrelated Things -
Design components that are self-contained. independent, and have a single, well-defined purpose."
"Fix the Problem, Not the Blame -
It doesn't really matter whether the bug is your fault or someone else's –
it is still your problem, and it still needs to be fixed."
"Use Tracer Bullets to Find the Target -
Tracer bullets let you home in on your target by trying things and seeing how close they land."
- Bacterius, 2013
"Never write code if the underlying architecture is not written down on paper.
And if you think you have a decent architecture plan,
throw it in a bin and draw everything all over again."
- Include4eto, 2013
"Whatever new language or paradigm doesn't kill you makes you stronger"
-szecs, 2013
"The pinnacle of programming is mastering the remotes for your entertainment systems"
-Stormynature, 2013
"Plans are Nothing; Planning is Everything"
- Dwight D. Eisenhower
"Agile is Nothing without Planning, unless you like getting to crap fast"
- NetGnome, 2013
"In time you will come to hate the users; might as well get ahead of the game on that..."
- phantom
"Damn it, copy & paste!!!"
- kseh
"Design patterns are descriptive, not prescriptive. Treating them as if it were the other
way around (in my experience) generally leads to over-engineering."
- Oberon Command
"Make it work. Make it right. Then make it fast"
- Kent Beck (?)
"The First Rule of Program Optimization: Don't do it. The Second Rule of Program Optimization (for experts only!):
Don't do it yet."
"Everyone knows that debugging is twice as hard as writing a program in the first place.
So if you're as clever as you can be when you write it, you are by definition not smart enough to debug it"
- Brian Kernighan (paraphrased)
"Laziness is a virtue. A truly lazy programmer will do an immense amount of work just to avoid
doing a small amount of work over and over again. This is a Good Thing ™."
- ChaosEngine
"As with music, technical proficiency will only carry you so far. At some point you have to have a
connection with your users, and those who must maintain your code; never neglect
your social empathy in the pursuit to be a better technician."
- ApochPiQ
"Throw away prototype code."
- way2lazy2care
"That "quick temporary hack" WILL end up in the final game..."
- phantom
"It will be fixed in the patch is an empty promissory note"
- Stormynature