| > Its always decreasing because entropy builds up on longer projects. Its simply the fact of life, not particularly specific to coding. I don’t know much physics, but this word-soup about entropy is mistaken, isn’t it? Because something something about closed systems vs open systems and putting energy into systems (eg, people working on the codebase)? > The best you can do is to have automatic tests, lots of them, and make them work as intended (good tests are very hard to make). I’m not sure what “best” means here, but there are other tools for improving software quality beyond tests, including and in particular formal methods. > Those [tests] make refactoring possible and make specific quality guaranties. What quality guarantees do tests make? That the build passes the test suite? |
> Because something something about closed systems vs open systems and putting energy into systems (eg, people working on the codebase)?
Did you ever lead a project that spans at least half decade? And is this a coherent thought or something something whatever?
> I’m not sure what “best” means here, but there are other tools for improving software quality beyond tests, including and in particular formal methods.
There are other tools, but the one that makes refactoring possible is the best you can do regarding OP question. If you have a bad quality code, you need to refactor, no? You might want to have some other tools like superb docs, formal proofs etc. but those do next to 0 when you need to refactor and guarantee that you didn't break hell.
> What quality guarantees do tests make? That the build passes the test suite?
Notice the part about "good tests" which are "very hard" to do.