FAQs
-
Does DCM upload any source code to its servers?
- No. All analysis is performed locally on the end user's device. And any logs the tool produces are stored on the end user's device only.
-
Do I still need to use the Dart analyzer?
- Yes. While the Dart analyzer also checks your code for potential bugs and comes with its own set of rules, it is responsible for features such as code completion, code navigation, and many others. DCM, even though it comes with unique flexible rules that may contradict with the Google's style guide, covers only the static analysis part. Using both tools as part of your development workflow can help you ensure the highest quality of your code.
-
Why do I need DCM when there are tools like Copilot?
- While Large Language Models can speed up the development process, their main focus is in quantity, not quality. For DCM it's not that important whether the code was written by a developer or Copilot, it will still analyze the code to find possible bugs, style issues and other problems. If you want to maximize your productivity, you might want to use both.
-
How can solving quality problems help speed up development?
- Let's say you develop an app. If you have a multi-step release process, each time you introduce a bug might either result in the code being returned to you from a later step (delaying the time when users of your app get the feature you are working on) or the bug gets into the production and becomes a problem for your users leaving a possibility that the affected users may never use your app again. The latter is true even if you have a simpler release flow. That's why addressing different issues during development can save you a lot of time and keep your users happy.
-
What about false positives?
- Sadly, static analyzers are not perfect, which is why time from time you can get false positives. They are easy to suppress. For example, in the IDE you can add a comment with a rule ignore. Additionally, you can help us make the tool better for you and also report the problem to our support.
-
Can I customize the rules used by DCM?
- Yes, DCM allows extensive customization of its rules to fit the specific needs of your project. You can enable or disable rules, set severity levels by modifying the analysis_options.yaml file.
-
How does DCM handle unused code detection?
- DCM includes features to detect unused code, helping you clean up your codebase and improve maintainability. It scans for code elements that are no longer in use or marked as deprecated, providing you with reports to take corrective actions.
-
Does DCM support integration with other CI/CD tools besides the ones mentioned?
- Yes, DCM is designed to be flexible and can be integrated with various CI/CD tools beyond the commonly mentioned ones like GitHub Actions and Jenkins. As long as your CI/CD pipeline can execute shell commands, you can incorporate DCM's analysis and reporting features.
-
What kind of metrics does DCM collect, and how can they be used?
- DCM collects various metrics such as cyclomatic complexity, lines of code, maintainability index, and more. These metrics provide insights into the complexity and quality of your code, helping you identify areas that may need refactoring or improvement.
-
Is there a way to get support or contribute to the DCM project?
- Yes, you can get support and contribute to the DCM project through several channels. You can join the DCM Discord server for community support and discussions, or you can contact the DCM team directly via contact page. Additionally, you can contribute to the project by submitting issues, feature requests.