My Manifesto for Better Software
- Build for the future
Try to imagine what future requests will be and put the building blocks in early on.
- Starting should be self explanatory
It should be easy to start using your product.
- Looks are everything
The entire experience should be pleasing to the eye.
- Make it robust (looks aren’t everything)
It doesn’t matter if it looks good, if it’s not robust people won’t use it.
- Make actions clear
It should be obvious what people need to do next.
- Fail gracefully
Error messages should explain what the problem is, and what can be done about it.
- Clean code
You may be able to understand the code you’ve written, but it doesn’t mean your coworker will.
- Keep it simple and logical
Put code in it’s simpliest and most logical place. Coworkers shouldn’t have to hunt to find things.
- Explain the reason why
Have a place where you can explain why certain decisions were made. You may know something others don’t.
Whilst working on something, test it. When it’s complete, test it again. When you’re about to release it, test it again.
- Comment code
Tell me what you’re thinking.
- Not all one-liners are necessary
You may think your code is easier to read if it’s all on one line, but if it takes me 10 minutes to work out what it does, you’ve lost.
- Make it easy
Technology should make our lives easier. From the day-to-day usage by customers, to the developers coding and maintaining it, make it easier for everyone!
- It’s never finished
There will always be bugs and feature requests, so bear that in mind when designing and developing.
- Embrace change
People will use your work how they want to. Embrace it and empower them.
I’m learning this the hard way.