Programming Mantras (Rough Notes)

Here are my rough notes from PyGTA's programming mantra's discussion this evening:

In the face of ambiguity, refuse the temptation to guess.
   Have a vision before you start coding.
   Know your task.
   Know your client.
   Ignore the impossibility behind the curtain.
Your clients don't know what they want.
   Charge by the hour.
   Play around with the problem.
Nothing is sacred.
   Refactor fearlessly.
   Messy code needs love too.
   Kill the fatted calf.
   Break it, then fix it.
   No one owns any piece of code.
   You are an anonymous cog in the Java machine, deal.
Keep it simple, smartarse.
   Sometimes the solution really is simple.
   You are wrong about how much work it will be.
You are wrong.
   About optimization.
   About planning.
   About everything.
Reputation encourages responsibility.
   Benevalent dictators are good gatekeepers.
Don't ask.
   Makes people happier if they don't worry about what it's all for or about.
   Code for yourself...
   Job security counts.
Less code is better.
   Counter: Rationalization and compartmentalization can make it harder to read code.
   DRY gone wild, wet-T-shirt edition.
Wishful thinking might get you there.
Pretend it exists, figure out the API later.
   Ignore the details, treat it as a black box, TDD (XP-style).
Someone, somewhere already solved this.
   Code reuse is a good thing.
   Unless the code sucks.
   .2% of reusable code is reused.
   GPL sucks.
I'm an idio-nius.
   Constant self-doubt is good/bad.
Hard work pays off over time, laziness pays off right now.
   Laziness is a virtue.
   Spend 8 months figuring out how to take out the garbage automatically.
Standard naming, but no naming Nazis.
   Don't trust standards.
    My standards are good.
   Yours suck.
Swear freely in code, but not in function names.
Your coders should be programming in the shower, don't chain them to a desk.
Cut and paste is *bad*
    Vewy, vewy bad.
Imports are okay.
   Let a thousand imports bloom.
Show me da money!
   Focus your energy on saleables.
   Higher code reuse.
   More focused learning.
Don't write code you can't run.
   Coding to a spec is sucky.
   Mock it out if you have to.
Documentation Counts
   Documentation should be automatic when possible.
   Examples count.  Make example documentation automatic.
   How To documentation matters.
Steel Cage Match:
   Make it work, then make it pretty.
   Make it pretty, then make it work.
Spend your time on silly things.
   Bill by the hour.
Don't annoy the young'uns with tales of the old days.
   They don't know how to respect us oldsters.
Python tools suck.
   Don't have enough people working on them.
   Purity is overrated.  Practicality matters.
   Drupal is a steaming mass of *useful* (*(*#$.
Abuse Myles when he puts comments in your tracker.
   He just wants to be loved, we think.
Don't spend months migrating code you can rewrite in half a day.
Interns are a valid solution.
   Free high-school student slaves.
Code rewriting tools suck.
   Go to a binary back-end live rather than generating code.
PowerBuilder *sucks*.
   Many sucky tools are productive and lucrative.
   You can make lots of money serving small morsels of food to people trapped in deep technological mine-shafts.
Prototype in the target language.
Be a programmer, not a DBA, dammit!
   Leave sysadminning to the sysadmins.
   Leave DBA-ing to the DBAs.
   I like my bubble.
   Limit your knowledge, avoid doing the dumb things.
Be a renaissance man.
   I know the whole stack.
   Know everything so you can be a happy well-rounded slave.
   Myles loves slaves.
Don't replicate accidentally (teenage problem mostly).
   Don't play with your config files, you'll go blind.
If you can recover before anyone notices, you're okay.
   If a server crashes in the data center, do users care?
If the Royal Bank can go down for 3 days so can I, drat it!
   But twitter is an essential service.
It's the API, stupid.
Space-Nazi's suck.
Meta-programming is fun, let *me* do it for you.
It's not worth breaking the ORM.
   Counter: but the ORM does suck.
Relax, dude, it's just code.
Release it ASAP, let someone else fix it.
It's all frickin' accounting.
Observable properties are boss.
Love your tools or fix them.
Don't run live queries on financial databases without transactions.

Comments

Comments are closed.

Pingbacks

Pingbacks are closed.