Rule 5 is definitely king. Code acts on data, if the data is crap, you're already lost.
edit: s/data/data structure/
… if the data structures are crap.
Good software can handle crap data.
… if the data structures are crap.
Good software can handle crap data.