Three goals for good software 1. **resilient**: responds to change; code design, test and regression support 2. **testable**: safe from bugs; verified and validated, able to confirm changes with tests 3. **maintainable**: easy to understand; clarity of design and responsibilities, adequate documentation ![xkcd-844](https://imgs.xkcd.com/comics/good_code.png) XKCD Good Code @ https://xkcd.com/844 [[software elegance]]