Order & urgency of code quality improvements #687
Replies: 2 comments 1 reply
-
|
A few other minor thoughts while we're thinking about SonarQube. Nothing super-urgent, and we can adopt a wait-and-see stance to them as well if we want. Is the analysis scope right?In other words, which files are analysed and which are not, and how they are analysed.
Signs that the analysis scope is wrong is frequently looking at things SonarCloud reports and thinking "oh, but I don't care about this code anyway". Here's an article about improving on that: https://docs.sonarqube.org/latest/project-administration/narrowing-the-focus/ I have a feeling that SonarQube is wrong on coverage statsIt's currently reporting over 30% code coverage off the back of just 18 tests. All of the ones I've written are pure unit tests, and that's the majority of them. Sure they would provide high coverage ratios for the classes tested, but they only test a tiny amount of the codebase. I suspect that something is wrong and it is grossly over-reporting. I'm not going to fix or even investigate it immediately, because we're not yet including coverage as a pass/fail criteria. Plus getting code analysis has taken up enough time for now, and we have enough benefits from it for now. I'll suggest revisiting after 2.0 is released. |
Beta Was this translation helpful? Give feedback.
-
|
The only thing I think we should do before the V2 release is to at least triage the 3 categories: security hotspots, bugs and the one blocker. The issues we find during triage that we deem important to be done before the release we assign the 2.0 milestone. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Now that SonarQube is in and reporting to SonarCloud, it's flagged up issues with existing code. These don't need to be fixed immediately in order for builds to pass because SonarQube will only fail on problems with newly-submitted code.
It's good that we know about them and now we can start thinking about paying some of them down. SonarCloud sort of gives us a priority list to work through (not precisely, but we can infer one). There's no need to "stop the world" until they're all done either, so we can do a few at a time.
The issues SonarCloud reports
SonarQube has shown us that we have:
Proposal: Open a few issues to fix the worst of it
I'd suggest raising the following three issues as a "first wave of code improvements" (so we can say we've made things better), to be worked-on in this proposed order:
The rest can probably be left for now. This way we target the few most important issues, pay off some tech debt, but don't try to do or plan so much that we lose sight of our overall goals.
When/priority
I don't have any strong opinions on whether any/all of this should be added to the Elsa 2.0 milestone. On one hand the sooner these are addressed the better, but on the other scope creep in a release is bad, and we're quite close to the planned delivery date.
If someone left it to me I'd probably put all three of those in the v2 release, but I'm more than happy to leave it until afterward.
Any thoughts?
Totally welcome to hear thoughts on any of this. The order we should do it, whether we should even be thinking about this stuff now (before v2 is out of the door) or opinions on the size/scope/priority of issues to be created.
Beta Was this translation helpful? Give feedback.
All reactions