🚀 Announcing DCM Dashboards general availability
An ultimate solution to monitor code quality for your #Flutter projects.
✅Never let important issues slip
✅Visualize technical debt
✅Track trends within your org
✅Share reports with stakeholders
#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: https://t.co/zEjAyRBTeq
🔥 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: https://t.co/S8PQp33hNn
🔥 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: https://t.co/S8PQp33hNn
#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: https://t.co/zEjAyRBTeq
🤔 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!
https://t.co/VDCqTDjvGB
✨ 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: https://t.co/yQlMdenAxn
What could be better than attending F&F with your friend? 💙
Doing it for FREE 😉
We’re raffling TWO tickets 🎟️🎟️
To participate:
1. Like & share this post
2. Follow @FlutterNFriends
3. Tag your friend in the comments
1 comment = 1 entry
More tags = more chances to win 😉
When it comes to #Flutter widget code, there are different expectation compared to plain domain logic.
That’s why our guide separates widget metrics from non-widget metrics, so UI, services, and domain logic are measured differently: https://t.co/aCx6ErmZ0T
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 👇
Don’t disable a metric if the default threshold does not really work, instead:
✅ Use entries for stricter new code
✅ Give legacy folders a temporary threshold
That way, new code improves without blocking every release because of old code.
🚀 Quality code tip: Use the variable you already created.
It's easy to miss, but the "use-existing-variable" rule catches repeated expressions when a variable already exists.
🪧 Less code
🔁 Less duplication
✅ Fewer inconsistencies
https://t.co/ka72ziXHda
🎉 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? 👇
The DCM baseline keeps the team on top of legacy issues, separate from new code.
Real-time IDE feedback enforces consistent structure and patterns, and GitHub Actions automation ensures that no PR is merged without passing DCM checks.
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
https://t.co/x3rTtEAueT
Heads up, there’s a code freeze a-comin! 🥶💙
To move Material and Cupertino downstream to the stable branch in flutter/packages, we’ll be freezing these libraries with our next release cut-off on April 7
More info: https://t.co/1IzRdzesW5
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: https://t.co/BlN1LBcuM5