Kirk Knoernschild has responded to the question: “What is good code?”:
Ignoring speed of development for a moment, is the best code software that:
- can adapt to change
- performs well
- is error free
- is as simple as possible
- does what my customer needs
I think the last point is probably the best. Assuming that ‘not erroring out or being too slow’ is something that your customer needs, then this says it almost all:
Does what my customer(s) need
All of the other items fit under this umbrella, even if the customer doesn’t know it. E.g. do they know that ’software which is managable and easy to maintain’ is what they need? They should.
Maybe ‘performs well’ could be ‘performs fast enough for their needs’.
The comment: ‘is as simple as possible’ is also a leading one. Simple in what way?
The best part is that:
“Must use latest and greatest acronyms”
isn’t on the list ;)
Another part of the equation is business value. We often ‘let the business guys take care of that’ and we just implement what they want. Is good code good if it is never used because the idea behind it wasn’t good?
To add more value, consultants and the like need to get up the ladder a little and think about business value.