My Manifesto for Better Software.

  1. Build for the future
    Try to imagine what future requests will be and put the building blocks in early on.
  2. Starting should be self explanatory
    It should be easy to start using your product.
  3. Looks are everything
    The entire experience should be pleasing to the eye.
  4. Make it robust (looks aren’t everything)
    It doesn’rsquo;t matter if it looks good, if it’s not robust people won’t use it.
  5. Make actions clear
    It should be obvious what people need to do next.
  6. Fail gracefully
    Error messages should explain what the problem is, and what can be done about it.
  7. Clean code
    You may be able to understand the code you’ve written, but it doesn’t mean your coworker will.
  8. Keep it simple and logical
    Put code in it’s simpliest and most logical place. Coworkers shouldn’t have to hunt to find things.
  9. Explain the reason why
    Have a place where you can explain why certain decisions were made. You may know something others don’t.
  10. Test
    Whilst working on something, test it. When it’s complete, test it again. When you’re about to release it, test it again.
  11. Comment code
    Tell me what you’re thinking.
  12. 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.
  13. 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!
  14. It’s never finished
    There will always be bugs and feature requests, so bear that in mind when designing and developing.
  15. Embrace change
    People will use your work how they want to. Embrace it and empower them.

I’m learning this the hard way.