Lots of good stuff in there. One that caught my eye is “able to change logging level without code changes”. I would take that one step further to “without redeploying”. Going to try and implement that in my own projects. I disagree strongly with “90%+ unit test coverage” though. Diminishing returns are very real there.
>I disagree strongly with “90%+ unit test coverage” though. Diminishing returns are very real there. Hi, stupid junior here. Can you elaborate a bit or give me some reading material? I'm currently struggling to get good practices with tests and understanding associated metrics. Thank you!
https://testing.googleblog.com/2010/07/code-coverage-goal-80...
That said, it's very easy to write tests that produce high code coverage, but do not test much that is useful (do they assert the things we truly need to check for?). It's also a pointless exercise to try and cover every single branch (e.g. does every defensive error check need to be asserted on?)
It's a delicate balance and I'm sure some people will disagree with this, even.