Maintainability is equivalent to code quality when (1) the code grows with features, and (2) external dependencies force continued change.
One example is an end-to-end test suite. New tests are written; old tests are removed. If the tests couple UI too closely with the spec, more changes need to happen. More time is spent on fixing and running the changed test over and over.
Secondly, we can't control when a website is redesigned. Selectors change, and the tests have to change with it. We could add our own test IDs, but we cannot enforce anything.
We're almost approaching a decade and have only honed our approach while expanding our reach.
---
I also just wanted to add that your work is fantastic, and just an incredibly high bar in the 15+ years since I discovered it. I look up Love every so often; it reminds me of programming as implementing dreams into reality.
Should be obvious. The intrinsic quality of code has nothing to do with another quality; improvements provided by linting, type annotations, or static analysis. If your linter introduces syntax that breaks under a future environment, or your type annotations are merely 99% correct, or your static analysis gives a false-positive for an untested config, then expect a decrease in net quality.
2 comments
[ 0.24 ms ] story [ 14.8 ms ] threadOne example is an end-to-end test suite. New tests are written; old tests are removed. If the tests couple UI too closely with the spec, more changes need to happen. More time is spent on fixing and running the changed test over and over.
Secondly, we can't control when a website is redesigned. Selectors change, and the tests have to change with it. We could add our own test IDs, but we cannot enforce anything.
We're almost approaching a decade and have only honed our approach while expanding our reach.
---
I also just wanted to add that your work is fantastic, and just an incredibly high bar in the 15+ years since I discovered it. I look up Love every so often; it reminds me of programming as implementing dreams into reality.