Lately I’ve been seeing horrible code. Sometimes it’s horribly written. Sometimes you know that it will be ridiculously hard to maintain. Sometimes it is just plain wrong. Way too many times it is over-designed, which also makes it hard to maintain.
A few examples from various projects:
- Code written to process credit cards that displayed the entire number in the checkout page. If you are going to deal with sensitive information, like credit cards, do yourself a favor and read about PCI compliance.
- Not a single line of logging in the application code. Not one! I thought “Really? Nothing will go wrong in your application? You won’t need to check the log files at any point in time?” – Log files are essential.
- An error message that read: “Billing information was not valid or your cart is empty. Please resubmit your order.” – This is just lazy. Why don’t you add a condition that separates the error message?
I am not asking for perfection. I am asking for a conscious effort from software developers to develop professional software. Think beyond the spec.
And if you screw up, do not tell me: “That’s what the spec said” – Because the spec can be wrong too.
