Sign in

DCM

@dcm.dev
213 followers 33 following 180 posts

Advanced linter for Flutter and Dart developers dcm.dev. Join our discord discord.gg/Vzjprgk4sb. "its not AI, but it’s better!"

PostsRepliesMedia
DCM @dcm.dev · 16/04/2026
🔥 DCM 1.36.0 includes 11 new rules for Flutter, Common, Equatable, & Mocktail categories. To learn how these rules can prevent potential issues and bugs, read: dcm.dev/blog/2026/03...
000
DCM @dcm.dev · 09/04/2026
#Flutter devs: how many of these have you run into? We’ve rounded up 15 common Flutter & Dart mistakes you’ll definitely recognise: ⚠️ Memory leaks ⚠️ `setState` misuse ⚠️ Async pitfalls ⚠️ Testing gaps & more Find out how to spot and fix them before they break your app: dcm.dev/blog/2025/03...
dcm.dev
15 Common Mistakes in Flutter and Dart Development (and How to Avoid Them) | DCM - Code Quality Tool for Flutter Developers
In this article, I’m sharing 15 common mistakes Flutter developers often make—along with why they happen, what to watch out for, and how to fix them using proven patterns and DCM rules and features.
020
DCM @dcm.dev · 02/04/2026
🤔 Most teams can tell when a Flutter method feels too complex. The problem is that “too complex” is subjective. Read "Cyclomatic Complexity, #Flutter Guide" & learn how to shield your code and to refactor it down and protect your team now & later! dcm.dev/blog/2026/04...
dcm.dev
Flutter Cyclomatic Complexity Guide | DCM - Code Quality Tool for Flutter Developers
Learn how to identify, measure, and reduce Cyclomatic Complexity in Flutter apps using DCM—complete with real-world examples and team workflow tips.
030
DCM @dcm.dev · 02/04/2026
✨ Still doing manual null checks in your collection literals? DCM’s prefer-null-aware-spread rule warns when you could use ...? in your #Flutter code instead. 🎥 Watch to learn how to fix it: youtu.be/92X6GXwW-N8
youtu.be
prefer-null-aware-spread (Rules of the Week)
YouTube video by DCM Analyzer
010
DCM @dcm.dev · 01/04/2026
Advanced metrics configuration in DCM is where metrics become practical. You’re not limited to one global threshold. You can tune metrics for legacy code, new features, widget-heavy UI, critical paths, and even dashboards-only tracking. In this guide, learn how you can do it 👇
100
DCM @dcm.dev · 31/03/2026
🚀 Quality code tip: Use the variable you already created. It's easy to miss, but the "use-existing-variable" rule dcm.dev/docs/rules/c... catches repeated expressions when a variable already exists. 🪧 Less code 🔁 Less duplication ✅ Fewer inconsistencies
010
DCM @dcm.dev · 30/03/2026
🎉 A case study with Appinio was published! Appinio is a fast-growing global market research platform. Their mobile team delivers production-grade #Flutter apps and uses DCM to maintain high development velocity without compromising long-term maintainability. How? 👇
110
DCM @dcm.dev · 27/03/2026
Is your #Flutter app silently excluding users? In our new blog: ✅ New accessibility features in Flutter 3.32 ✅ Fixing common pitfalls (labels, text scaling, contrast) ✅ Automated testing with meetsGuideline & more ✅ Practical code examples & tools dcm.dev/blog/2025/06...
dcm.dev
Practical Accessibility in Flutter (and Code You’ll Actually Use) | DCM - Code Quality Tool for Flutter Developers
Flutter makes it possible to build beautiful apps and with a bit of effort, beautiful, accessible apps. The great thing is that many accessibility improvements are small tweaks that have big impact.
030
DCM @dcm.dev · 26/03/2026
A small #Flutter lint that can prevent confusing layout issues: avoid-flexible-outside-flex. This rule warns when Flexible is used outside a Flex widget, such as Row, Column, or Flex, helping keep widget tree layouts working correctly. Read more: dcm.dev/docs/rules/f...
030
DCM @dcm.dev · 25/03/2026
Riverpod is one of the most used packages for #Flutter, and yet you might have missing points, including: ⚠️ ref .read inside build 🔄 ref .watch outside build ⏳ async gap + stale ref 🧹 missing onDispose cleanup Read more: dcm.dev/blog/2026/03...
dcm.dev
Riverpod Best Practices You're Probably Missing | DCM - Code Quality Tool for Flutter Developers
Learn how the Riverpod package works by reading its source code. Understand the architecture behind Flutter reactive state management and discover why certain patterns prevent bugs, memory leaks, and ...
030
DCM @dcm.dev · 20/03/2026
Many teams want better code quality but struggle to know where to start. Techniques such as: 1⃣ preview all metrics first ✅ start with metrics-recommended ✏️ override thresholds for your project 👩‍💻 choose metrics based on your actual pain points Read more: dcm.dev/docs/guides/...
010
DCM @dcm.dev · 19/03/2026
Complex conditions can impact readability in your #Flutter code. ❌ Instead of: (a && b) || (!a && c) ✅ Prefer: a ? b : c DCM’s "prefer-simpler-boolean-expressions" rule flags redundant #Dart boolean patterns and suggests more readable alternatives. Read more: dcm.dev/docs/rules/c...
010
DCM @dcm.dev · 18/03/2026
Arrange, Act, Assert is the gold standard for unit testing 🧪 Why? It ensures tests are not doing "multiple rounds of arrange and act." DCM 1.32 introduced `prefer-test-structure` to warn when a test is not separated into these three sections. Read more: dcm.dev/docs/rules/c...
000
Reposted by DCM
DCM @dcm.dev · 13/03/2026
Async mistakes can quietly slow down or break your #Flutter app. This post breaks down common pitfalls and how to fix them: 🔄 Misused `FutureOr` ⚠️ Unawaited futures in `initState()` 🔁 Redundant `async/await` 🚦 Inefficient parallel calls 🧵 Confusing `.then()` chains dcm.dev/blog/2025/05...
dcm.dev
The Hidden Cost of Async Misuse in Flutter (And How to Fix It) | DCM - Code Quality Tool for Flutter Developers
Uncover hidden Flutter performance issues & memory leaks! Learn to spot & fix common async/await misuses like unawaited Futures.
061
DCM @dcm.dev · 16/03/2026
🎉 A case study with Zühlke was published! They use DCM to keep complex, mission-critical #Flutter apps maintainable across healthcare, industrial engineering, and enterprise projects. 💯 Result: faster PRs, fewer regressions, and better visibility into technical debt. How?👇
130
Reposted by DCM
DCM @dcm.dev · 13/03/2026
#Flutter BLoC is everywhere, but hidden bugs are easy to miss: 💥 isClosed after await 🔁 same-state emits 🧠 create vs .value 🚫 public methods bypass events 🔒 sealed/immutable classes By reading BLoC source code, we see how to happen & prevent them: dcm.dev/blog/2026/03...
dcm.dev
Flutter BLoC Best Practices You're Probably Missing | DCM - Code Quality Tool for Flutter Developers
Learn how the BLoC pattern works by reading its source code. Understand the architecture behind Flutter state management and discover why certain patterns prevent crashes and memory leaks.
151
DCM @dcm.dev · 13/03/2026
#Flutter BLoC is everywhere, but hidden bugs are easy to miss: 💥 isClosed after await 🔁 same-state emits 🧠 create vs .value 🚫 public methods bypass events 🔒 sealed/immutable classes By reading BLoC source code, we see how to happen & prevent them: dcm.dev/blog/2026/03...
dcm.dev
Flutter BLoC Best Practices You're Probably Missing | DCM - Code Quality Tool for Flutter Developers
Learn how the BLoC pattern works by reading its source code. Understand the architecture behind Flutter state management and discover why certain patterns prevent crashes and memory leaks.
151
DCM @dcm.dev · 13/03/2026
Async mistakes can quietly slow down or break your #Flutter app. This post breaks down common pitfalls and how to fix them: 🔄 Misused `FutureOr` ⚠️ Unawaited futures in `initState()` 🔁 Redundant `async/await` 🚦 Inefficient parallel calls 🧵 Confusing `.then()` chains dcm.dev/blog/2025/05...
dcm.dev
The Hidden Cost of Async Misuse in Flutter (And How to Fix It) | DCM - Code Quality Tool for Flutter Developers
Uncover hidden Flutter performance issues & memory leaks! Learn to spot & fix common async/await misuses like unawaited Futures.
061
DCM @dcm.dev · 12/03/2026
🎉 We just published a case study with CarOnSale, Europe's fast-growing B2B automotive platform. They secure their Flutter mobile apps and internal libraries with DCM. 💯 The results? Smoother code reviews, automated consistency, & increased developer confidence across teams👇
210
DCM @dcm.dev · 10/03/2026
Is your #Flutter widget tree full of Padding, Align, ClipRect and Transform widgets? In this video, we show how you can simplify those trees using a single Container widget and how the "prefer-container" rule helps you reduce unnecessary nesting: youtu.be/MdrU_8orso8
youtu.be
prefer-container (Rules of the Week)
YouTube video by DCM Analyzer
000
DCM @dcm.dev · 09/03/2026
If you are using Zed and would like to have your code checked with DCM, check out the getting started docs for the Zed extension: dcm.dev/docs/ide-int...
dcm.dev
Zed Extension | DCM - Code Quality Tool for Flutter Developers
Community-driven: This Zed integration is maintained by the community (third-party repository) and is not officially maintained or supported by the DCM team. Functionality and stability may evolve ind...
000
DCM @dcm.dev · 06/03/2026
We just published a case study with BoursoBank, France’s largest online bank! They secure mission-critical #Flutter mobile & web apps with DCM. 💯 The results? maintainable architecture, & zero crashes in payment & authentication flows for 70+ engineers Here's how they do it 👇
110
DCM @dcm.dev · 06/03/2026
Ever discovered a Flutter widget and thought, “Why didn’t I see this sooner?” 🤔 We’ve uncovered 10 under-the-radar widgets that even seasoned devs almost never use! 👇 dcm.dev/blog/2025/01... What widget surprised you the most?
dcm.dev
10 Flutter Widgets Probably Haven’t Heard Of (But Should Be Using!) | DCM - Code Quality Tool for Flutter Developers
In this article, I want to share some of those hidden gems I’ve discovered lesser-known widgets and functionalities that can simplify your development process and add a unique touch to your apps. More...
051
DCM @dcm.dev · 04/03/2026
Are silent bugs hiding in your #Flutter Provider code? You might be missing: 💥 .value trap 🚫 .dispose gap 👀 .read vs .watch ✋ .selector logic We explored the Provider's source code to uncover common architecture mistakes: dcm.dev/blog/2026/03...
dcm.dev
Flutter Provider Best Practices You're Probably Missing | DCM - Code Quality Tool for Flutter Developers
Learn how the Provider package works by reading its source code. Understand the architecture behind Flutter dependency injection and discover why certain patterns prevent bugs and memory leaks.
000
DCM @dcm.dev · 03/03/2026
Once you have multiple #Flutter projects, it's often required to manage different DCM versions. Our new guide covers: 🔄 Fast version switching 💻 Helper scripts (Zsh, Bash, Fish, PS) 💙 FVM support 🤝 Team consistency with dcm_global.yaml Read here: dcm.dev/docs/guides/...
010
DCM @dcm.dev · 24/02/2026
🤷‍♂️ Assigning values that never get used? Enable the "avoid-unused-assignment" rule that warns when an assignment is not used in the following statements. 🎥 Watch to learn more: youtu.be/HajF6gXkAik
youtu.be
avoid-unused-assignment (Rules of the Week)
YouTube video by DCM Analyzer
000
DCM @dcm.dev · 24/02/2026
We recently published a case study with Betterment where the team adopted DCM into their workflow, which helped them to: - Cut feedback cycles from minutes to seconds - Focus on architecture review rather than styling - Ship faster & safer Full story: dcm.dev/customers/be...
000
DCM @dcm.dev · 19/11/2025
🧠 Ever found a #Dart or #Flutter function that completely changed how you think about coding? We’ve rounded up 10 underrated functions that can simplify code, reduce boilerplate, and teach you something new about the language itself. 📖 dcm.dev/blog/2025/02...
dcm.dev
10 Lesser-Known Dart and Flutter Functionalities You Should Start Using | DCM - Code Quality Tool for Flutter Developers
In this article, I want to share some of those hidden gems I’ve discovered—lesser-known functionalities that can simplify your development process and add a unique touch to your apps. Moreover, we wil...
020
Reposted by DCM
DCM @dcm.dev · 18/11/2025
Dart 3.10's dot shorthands are game changers for #Flutter code: ✅ shorter enums, less boilerplate, and sharper syntax. ⚠️ But beware the hidden complexities! Learn about “Practical Rulebook for Teams” 👇 dcm.dev/blog/2025/11...
dcm.dev
A Deeper Look at Dart's Dot Shorthands (and Their Hidden Complexity For Your Flutter Projects) | DCM - Code Quality Tool for Flutter Developers
Deep dive into Dart 3.10's dot shorthand syntax: learn when to use it, avoid common pitfalls like nested shorthands, and discover best practices with practical examples and DCM lint rules.
173
DCM @dcm.dev · 18/11/2025
🖼️ Wrapping a #Flutter Image widget with an Opacity widget? That’s inefficient. The DCM rule "avoid-incorrect-image-opacity" warns you to use the "opacity" parameter directly instead. 🎥 Watch to learn how to fix it: youtu.be/ooKFXNhm_TU
youtu.be
avoid-incorrect-image-opacity (Rules of the Week)
YouTube video by DCM Analyzer
010
DCM @dcm.dev · 18/11/2025
Dart 3.10's dot shorthands are game changers for #Flutter code: ✅ shorter enums, less boilerplate, and sharper syntax. ⚠️ But beware the hidden complexities! Learn about “Practical Rulebook for Teams” 👇 dcm.dev/blog/2025/11...
dcm.dev
A Deeper Look at Dart's Dot Shorthands (and Their Hidden Complexity For Your Flutter Projects) | DCM - Code Quality Tool for Flutter Developers
Deep dive into Dart 3.10's dot shorthand syntax: learn when to use it, avoid common pitfalls like nested shorthands, and discover best practices with practical examples and DCM lint rules.
173
DCM @dcm.dev · 28/10/2025
🤯 8 Flutter widgets you’re probably overlooking and why they matter. In this article, we will show practical usage + their implementation source code to learn more from! Which one surprised you? 👉 dcm.dev/blog/2025/10...
dcm.dev
8 More Flutter Widgets You’re Probably Not Using (But Should Be) | DCM - Code Quality Tool for Flutter Developers
Discover 8 powerful Flutter widgets you might not be using yet, with practical examples and tips to boost your app's performance and UI versatility.
030
DCM @dcm.dev · 03/09/2025
Ever written a function that always returns the same value (like "true")? 🤔 It usually means the logic isn’t doing what you think. The "function-always-returns-same-value" rule catches these bugs before they spread! 👉 dcm.dev/docs/rules/c...
000
DCM @dcm.dev · 01/09/2025
Overriding fields from a super constructor with a getter? 🤔 That can break your code or lead to unexpected results! The "avoid-suspicious-super-overrides" rule helps you quickly spot and fix such issues. 👉 youtu.be/X_VgMfUSid4
youtu.be
avoid-suspicious-super-overrides (Rules of the Week)
YouTube video by DCM Analyzer
000
DCM @dcm.dev · 27/08/2025
AI is speeding up coding but also technical debt ⚡️ In our new post we have brought to you how #Dart & #Flutter devs can use Dart & Flutter and DCM MCP servers to: - Automate cleanup loops - Enforce lints & metrics - Keep AI-generated code maintainable Read here: dcm.dev/blog/2025/08...
dcm.dev
Let Your AI Assistant Tame Your Tech Debt (with Dart, Flutter and DCM MCP Servers) | DCM - Code Quality Tool for Flutter Developers
AI-generated code is creating tech debt. Learn how to build an agentic workflow that makes your AI assistant clean up after itself. This guide for Dart and Flutter developers uses DCM and MCP to autom...
020
Reposted by DCM
DCM @dcm.dev · 07/08/2025
If your #Flutter widget tree has a matching sequence of "Align", "Padding", "ClipPath", and others, it can often be replaced with a single "Container" widget. Use the "prefer-container" rule to simplify the layout dcm.dev/docs/rules/f...
072
DCM @dcm.dev · 25/08/2025
📦 One widget per file = easier-to-navigate, easier-to-maintain #Flutter code. See how DCM enforces this best practice ⬇️ youtu.be/xa4zMwpXrr8
youtu.be
prefer-single-widget-per-file (Rules of the Week)
YouTube video by DCM Analyzer
010
DCM @dcm.dev · 25/08/2025
🔥 13 new rules! DCM 1.31.0 is out and we've added 13 new rules that include Riverpod and #Flutter best practices, as well as common practices for #Dart. ➡️ Learn more about new rules in our latest blog: dcm.dev/blog/2025/08...
020
DCM @dcm.dev · 18/08/2025
DCM 1.31.0 is here! 🎉 🔧 13 new rules 🤖 DCM MCP Server 💾 Memory optimization for code quality commands 🧩 Baseline for check-parameters 📋 more rules in Free and Starter plans 📊 JSON/CSV for lints-preview, Dashboard improvements, and more. 👉 dcm.dev/blog/2025/08...
010
DCM @dcm.dev · 12/08/2025
Using `_` instead of `context`? You might be referencing the wrong `BuildContext`. That can lead to subtle bugs. 🔗 Here is a rule to help you quickly find such issues: dcm.dev/docs/rules/f... #Flutter #Dart
010
DCM @dcm.dev · 08/08/2025
🚀 Introducing the DCM Starter Plan: Built for Small Teams 🪑 Start from 2 seats 🔍 213 rules 🛠️ Quick fixes ‼️ All CLI commands 📊 Dashboards & CI/CD 📦 Up to 100k LOC Learn more 👉 dcm.dev/pricing
dcm.dev
Pricing | DCM - Code Quality Tool for Flutter Developers
Find a plan that is right for you.
000
DCM @dcm.dev · 07/08/2025
If your #Flutter widget tree has a matching sequence of "Align", "Padding", "ClipPath", and others, it can often be replaced with a single "Container" widget. Use the "prefer-container" rule to simplify the layout dcm.dev/docs/rules/f...
072
DCM @dcm.dev · 06/08/2025
DCM 1.30.0 includes better baseline support in Dashboards! 🚀 ✅ Toggle between open & baselined issues ✅ New Baseline tab for projects 🔗 Learn more in our blog: dcm.dev/blog/2025/07...
010
DCM @dcm.dev · 30/07/2025
Our new article covers the hard parts of #Flutter testing including: ✅ testing timers, ✅ mocking platform plugins, ✅ responsive UI, ✅ and even CustomPainter logic. Learn more to level up your testing with practical examples 👇 dcm.dev/blog/2025/07...
dcm.dev
Navigating the Hard Parts of Testing in Flutter | DCM - Code Quality Tool for Flutter Developers
A deep dive into advanced Flutter testing techniques: learn to handle edge cases, simulate time, test responsive layouts, mock platform plugins, and achieve reliable coverage with practical examples.
040
DCM @dcm.dev · 28/07/2025
💡 Why removing commented-out-code matters? ✅ It often hides unfinished work or dead logic ✅ Adds noise and confusion for other devs ✅ Git handles history anyway Learn more → dcm.dev/docs/rules/c...
010
DCM @dcm.dev · 25/07/2025
👀 Using GestureDetector with no event handlers? It’s doing nothing. The DCM rule "avoid-unnecessary-gesture-detector" warns when gesture detectors are unused. 🎥 Watch to learn how to fix it: youtu.be/FvU8a0jl2b4
youtu.be
avoid-unnecessary-gesture-detector (Rules of the Week)
YouTube video by DCM Analyzer
000
DCM @dcm.dev · 23/07/2025
🚀 No more SizedBox hacks!🚀 Flutter 3.27 added a "spacing" argument to Row, Column, and Flex 🙌 And with the "prefer-spacing" rule you can quickly find such cases in your #Flutter codebase → dcm.dev/docs/rules/f...
030
DCM @dcm.dev · 21/07/2025
Creating a new Future inside FutureBuilder in #Flutter? That restarts the async task every rebuild. Pass an existing Future from "initState", not from "build". 🔗Learn more how to fix this: dcm.dev/docs/rules/f...
020
DCM @dcm.dev · 18/07/2025
🎉 DCM 1.30.0: 22 New Lint Rules! Our latest release introduced 22 new lint rules to boost code quality in #Dart and #Flutter code! Check out our new rules: dcm.dev/blog/2025/07...
050
DCM @dcm.dev · 18/07/2025
🤔 Using "super()" in a constructor when it’s not needed? The "avoid-unnecessary-super" rule warns when you add unnecessary super invocations or prefixes. 🎥 Watch to learn how to fix it: youtu.be/oU3q2AUj9o4
youtu.be
avoid-unnecessary-super (Rules of the Week)
YouTube video by DCM Analyzer
010