Time for a dive into developer tooling and attitudes. I woke up and couldn't sleep at three AM so no deep thinking. Instead I'll go the opposite direction and do this in meme form. 1/
In computer science we became good at the act of giving developers feedback before we became good at knowing what feedback to give. Low value feedback, aka "noise", is the most common reason teams give for avoiding analysis tools. 2/
You can see the impact of low-value feedback all over the place. We've trained ourselves to ignore analysis messages or treat them with suspicion. The bias is to believe we did a good job and the tool is doing a bad one. It feels good, doesn't it? 3/
A friend's team experienced this the hard way. A bug was caught by an analysis tool, improperly discarded as a false positive, and gone on to cause production issues. 4/
What we see is a natural gravitation away from what is perceived to not work - unguided analysis and towards what clearly works. Unit tests, regression tests, and increasingly often property tests dominate the landscape. After all it's totally reasonable to use what works. 5/
Did we over-learn or is this a sound conclusion? How about a different question: In the past year how much did you invest building custom tests and how much into configuring your analysis systems, checker, and linters? Three orders of magnitude difference there. Hurm... 6/
You're reading between the lines correctly. The tooling is worth it and you should spend time using then setting up analysis CI tools. That's it. That's the suggestion. Many tools can report only the high confidence issues you know you should fix, so start there. 7/
OK so the term "tool" has come up a lot. It isn't like you are expected to know which ones. Here are a lot of options (github.com/analysis-tools…). Blogs the world over walk through many of them (ex: medium.com/musedev/a-ci-p…). 8/
If you want more options then 1. Ask your language's community 2. Reply - lets crowd source. Or 3. Install Muse (github.com/apps/muse-dev) and let it handle everything (docs.muse.dev/docs/muse-anal…) - my team has worked hard to make analysis tools easy and, above all, useful to you. 9/