Update Flutter's style guide for dot shorthands and extension methods#181934
Conversation
5e8174e to
2d03582
Compare
There was a problem hiding this comment.
Code Review
This pull request updates the Flutter style guide with new guidelines for using extension methods and a detailed section on using dot shorthands for enums and constructors. The changes provide more nuanced rules for extensions, moving away from a general avoidance. The new section on dot shorthands offers comprehensive guidance with code examples for various scenarios. My review includes a few minor corrections to typos and inconsistencies in the code examples to improve clarity.
justinmc
left a comment
There was a problem hiding this comment.
LGTM 👍
Are there any places in the code we should update now based on these changes?
| they appear no different than the built-in API of the class, and discovering | ||
| the documentation and implementation of an extension is more challenging than | ||
| for class members. | ||
| Prefer declaring instance methods over extension methods, where possible. |
There was a problem hiding this comment.
Is the reason behind this preference still discoverability? Should we explain that?
There was a problem hiding this comment.
I added a quick intro paragraph. Let me know what you think!
The decorators user study showed that discoverability is no longer a concern. The trade-offs you should consider are: you cannot override an extension method, extension methods can pollute IDE suggestions, and extension method can cause naming collisions. These are similar concerns as top-level functions.
There was a problem hiding this comment.
Looks good now, thanks. I just wanted to make sure that no knowledge is being lost here for new readers of this section.
|
Woot! The other portion of updates is in #181985 |
| they appear no different than the built-in API of the class, and discovering | ||
| the documentation and implementation of an extension is more challenging than | ||
| for class members. | ||
| Prefer declaring instance methods over extension methods, where possible. |
There was a problem hiding this comment.
It would be better if we can give an example usage that is valid. the sentence by itself is too strict. Every use case of extension in the same repo can be implemented as instance method.
There was a problem hiding this comment.
I switched back to the original wording from the Dash Forum as that seems to be less controversial ("Don't declare an extension method when declaring a regular method will do."). Let me know if you still have concerns after that!
For this one, nothing yet. The dot shorthands migration is blocked until we bump Flutter repo's Dart to 3.10. For extension methods, that's something we can start using for new APIs going forward. |
Roll Flutter from f916dd6887bf to e8f9dc50356d (34 revisions) flutter/flutter@f916dd6...e8f9dc5 2026-02-08 engine-flutter-autoroll@skia.org Roll Skia from 9325111e6ee4 to b7db9f35f0f2 (1 revision) (flutter/flutter#182062) 2026-02-08 engine-flutter-autoroll@skia.org Roll Skia from 3167229206b5 to 9325111e6ee4 (1 revision) (flutter/flutter#182061) 2026-02-08 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from sYqpDF9l9-kldd9_Q... to iqtwdXlgKIyZkL5Li... (flutter/flutter#182058) 2026-02-08 engine-flutter-autoroll@skia.org Roll Skia from ae78024b261e to 3167229206b5 (1 revision) (flutter/flutter#182055) 2026-02-07 engine-flutter-autoroll@skia.org Roll Dart SDK from ad6368edbe02 to 965b51c219d3 (1 revision) (flutter/flutter#182050) 2026-02-07 engine-flutter-autoroll@skia.org Roll Skia from a471f253b941 to ae78024b261e (1 revision) (flutter/flutter#182049) 2026-02-07 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from IOzzhWfhdzhu3zHsz... to sYqpDF9l9-kldd9_Q... (flutter/flutter#182043) 2026-02-07 engine-flutter-autoroll@skia.org Roll Dart SDK from 02092faa97c5 to ad6368edbe02 (2 revisions) (flutter/flutter#182040) 2026-02-07 engine-flutter-autoroll@skia.org Roll Skia from 9a983f6c2c06 to a471f253b941 (24 revisions) (flutter/flutter#182039) 2026-02-07 30870216+gaaclarke@users.noreply.github.com Add buffer around rerasterized input to fragment shaders to maintain coordinate space when clipped (flutter/flutter#181743) 2026-02-07 737941+loic-sharma@users.noreply.github.com Update Flutter's style guide for dot shorthands and extension methods (flutter/flutter#181934) 2026-02-06 jason-simmons@users.noreply.github.com Manual roll Skia from 39aa2a70213a to 9a983f6c2c06 (flutter/flutter#181986) 2026-02-06 47866232+chunhtai@users.noreply.github.com Update doc in foundation to match the style guide (flutter/flutter#181972) 2026-02-06 engine-flutter-autoroll@skia.org Roll Dart SDK from ec674bdb3ae4 to 02092faa97c5 (11 revisions) (flutter/flutter#182017) 2026-02-06 engine-flutter-autoroll@skia.org Roll Packages from c197455 to 7805d3e (4 revisions) (flutter/flutter#182016) 2026-02-06 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[cupertino.dart] Implement CupertinoMenuAnchor and CupertinoMenuItem using RawMenuAnchor (#174695)" (flutter/flutter#182010) 2026-02-06 iinozemtsev@google.com Update Dart SDK to 3.12 beta1 (flutter/flutter#181948) 2026-02-06 59215665+davidhicks980@users.noreply.github.com [cupertino.dart] Implement CupertinoMenuAnchor and CupertinoMenuItem using RawMenuAnchor (flutter/flutter#174695) 2026-02-06 116356835+AbdeMohlbi@users.noreply.github.com `flutter_tool` : Remove redundant enum types inside the enum definition scope (flutter/flutter#181910) 2026-02-06 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#181973) 2026-02-05 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from J2QdLcY2gyt4NP_xV... to IOzzhWfhdzhu3zHsz... (flutter/flutter#181971) 2026-02-05 sstrickl@google.com Directly generate a Mach-O dynamic library using gen_snapshot. [reland] (flutter/flutter#181539) 2026-02-05 matej.knopp@gmail.com macOS: Implement tooltip window controller (flutter/flutter#180895) 2026-02-05 victorsanniay@gmail.com Constrain RawAutocomplete options by soft keyboard (flutter/flutter#181930) 2026-02-05 engine-flutter-autoroll@skia.org Roll Skia from 079d092f49e6 to 39aa2a70213a (1 revision) (flutter/flutter#181970) 2026-02-05 285025525@qq.com perf: web ui loadFontFromList (flutter/flutter#181440) 2026-02-05 vs.ashoknarayan@gmail.com Improve accessibility contrast for pre-test message (flutter/flutter#180469) 2026-02-05 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#181965) 2026-02-05 engine-flutter-autoroll@skia.org Roll Skia from 8543ce512d5c to 079d092f49e6 (8 revisions) (flutter/flutter#181964) 2026-02-05 50643541+Mairramer@users.noreply.github.com Add `clearError` API to Form and FormFieldState (flutter/flutter#180752) 2026-02-05 okorohelijah@google.com Bump minimum required Xcode version to 15 and recommended to 16 (flutter/flutter#180531) 2026-02-05 GiancarloCante@gmail.com Rename "widgetTester" parameter to "tester" in "WidgetTesterCallback" (flutter/flutter#180944) 2026-02-05 engine-flutter-autoroll@skia.org Roll Packages from 3bddf2c to c197455 (3 revisions) (flutter/flutter#181962) 2026-02-05 jason-simmons@users.noreply.github.com Temporarily remove the Pixel 9/API 36 device from the Firebase Test Lab tests. (flutter/flutter#181956) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC stuartmorgan@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 ...
This version of Dart supports dot shorthands. Follow-up to: #180607 See also: * https://flutter.dev/go/flutter-style-updates * #181934
…flutter#181934) This updates the style guide following the [flutter.dev/go/flutter-style-updates](https://flutter.dev/go/flutter-style-updates) Dash Forum. Companion PR: flutter#181985 Part of: flutter#180607 ### Gemini's style guide This change does not update [Gemini's style guide](https://github.com/flutter/flutter/blob/master/.gemini/styleguide.md) since that links to Flutter's style guide. ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. **Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
This version of Dart supports dot shorthands. Follow-up to: flutter#180607 See also: * https://flutter.dev/go/flutter-style-updates * flutter#181934
Companion PR: #181934 Design doc: [Flutter Style Updates](https://docs.google.com/document/d/1Ao6RZmI4F8VSCpN-89o0Y6bZXhYb1-qgVGV5tALxm48/edit?tab=t.0) Closes #180607 Also closing #172296 ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. **Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
…flutter#181934) This updates the style guide following the [flutter.dev/go/flutter-style-updates](https://flutter.dev/go/flutter-style-updates) Dash Forum. Companion PR: flutter#181985 Part of: flutter#180607 ### Gemini's style guide This change does not update [Gemini's style guide](https://github.com/flutter/flutter/blob/master/.gemini/styleguide.md) since that links to Flutter's style guide. ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. **Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
This version of Dart supports dot shorthands. Follow-up to: flutter#180607 See also: * https://flutter.dev/go/flutter-style-updates * flutter#181934
Companion PR: flutter#181934 Design doc: [Flutter Style Updates](https://docs.google.com/document/d/1Ao6RZmI4F8VSCpN-89o0Y6bZXhYb1-qgVGV5tALxm48/edit?tab=t.0) Closes flutter#180607 Also closing flutter#172296 ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. **Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
…flutter#181934) This updates the style guide following the [flutter.dev/go/flutter-style-updates](https://flutter.dev/go/flutter-style-updates) Dash Forum. Companion PR: flutter#181985 Part of: flutter#180607 ### Gemini's style guide This change does not update [Gemini's style guide](https://github.com/flutter/flutter/blob/master/.gemini/styleguide.md) since that links to Flutter's style guide. ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. **Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
This version of Dart supports dot shorthands. Follow-up to: flutter#180607 See also: * https://flutter.dev/go/flutter-style-updates * flutter#181934
Companion PR: flutter#181934 Design doc: [Flutter Style Updates](https://docs.google.com/document/d/1Ao6RZmI4F8VSCpN-89o0Y6bZXhYb1-qgVGV5tALxm48/edit?tab=t.0) Closes flutter#180607 Also closing flutter#172296 ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. **Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
…r#10979) Roll Flutter from f916dd6887bf to e8f9dc50356d (34 revisions) flutter/flutter@f916dd6...e8f9dc5 2026-02-08 engine-flutter-autoroll@skia.org Roll Skia from 9325111e6ee4 to b7db9f35f0f2 (1 revision) (flutter/flutter#182062) 2026-02-08 engine-flutter-autoroll@skia.org Roll Skia from 3167229206b5 to 9325111e6ee4 (1 revision) (flutter/flutter#182061) 2026-02-08 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from sYqpDF9l9-kldd9_Q... to iqtwdXlgKIyZkL5Li... (flutter/flutter#182058) 2026-02-08 engine-flutter-autoroll@skia.org Roll Skia from ae78024b261e to 3167229206b5 (1 revision) (flutter/flutter#182055) 2026-02-07 engine-flutter-autoroll@skia.org Roll Dart SDK from ad6368edbe02 to 965b51c219d3 (1 revision) (flutter/flutter#182050) 2026-02-07 engine-flutter-autoroll@skia.org Roll Skia from a471f253b941 to ae78024b261e (1 revision) (flutter/flutter#182049) 2026-02-07 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from IOzzhWfhdzhu3zHsz... to sYqpDF9l9-kldd9_Q... (flutter/flutter#182043) 2026-02-07 engine-flutter-autoroll@skia.org Roll Dart SDK from 02092faa97c5 to ad6368edbe02 (2 revisions) (flutter/flutter#182040) 2026-02-07 engine-flutter-autoroll@skia.org Roll Skia from 9a983f6c2c06 to a471f253b941 (24 revisions) (flutter/flutter#182039) 2026-02-07 30870216+gaaclarke@users.noreply.github.com Add buffer around rerasterized input to fragment shaders to maintain coordinate space when clipped (flutter/flutter#181743) 2026-02-07 737941+loic-sharma@users.noreply.github.com Update Flutter's style guide for dot shorthands and extension methods (flutter/flutter#181934) 2026-02-06 jason-simmons@users.noreply.github.com Manual roll Skia from 39aa2a70213a to 9a983f6c2c06 (flutter/flutter#181986) 2026-02-06 47866232+chunhtai@users.noreply.github.com Update doc in foundation to match the style guide (flutter/flutter#181972) 2026-02-06 engine-flutter-autoroll@skia.org Roll Dart SDK from ec674bdb3ae4 to 02092faa97c5 (11 revisions) (flutter/flutter#182017) 2026-02-06 engine-flutter-autoroll@skia.org Roll Packages from c197455 to 7805d3e (4 revisions) (flutter/flutter#182016) 2026-02-06 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[cupertino.dart] Implement CupertinoMenuAnchor and CupertinoMenuItem using RawMenuAnchor (#174695)" (flutter/flutter#182010) 2026-02-06 iinozemtsev@google.com Update Dart SDK to 3.12 beta1 (flutter/flutter#181948) 2026-02-06 59215665+davidhicks980@users.noreply.github.com [cupertino.dart] Implement CupertinoMenuAnchor and CupertinoMenuItem using RawMenuAnchor (flutter/flutter#174695) 2026-02-06 116356835+AbdeMohlbi@users.noreply.github.com `flutter_tool` : Remove redundant enum types inside the enum definition scope (flutter/flutter#181910) 2026-02-06 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#181973) 2026-02-05 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from J2QdLcY2gyt4NP_xV... to IOzzhWfhdzhu3zHsz... (flutter/flutter#181971) 2026-02-05 sstrickl@google.com Directly generate a Mach-O dynamic library using gen_snapshot. [reland] (flutter/flutter#181539) 2026-02-05 matej.knopp@gmail.com macOS: Implement tooltip window controller (flutter/flutter#180895) 2026-02-05 victorsanniay@gmail.com Constrain RawAutocomplete options by soft keyboard (flutter/flutter#181930) 2026-02-05 engine-flutter-autoroll@skia.org Roll Skia from 079d092f49e6 to 39aa2a70213a (1 revision) (flutter/flutter#181970) 2026-02-05 285025525@qq.com perf: web ui loadFontFromList (flutter/flutter#181440) 2026-02-05 vs.ashoknarayan@gmail.com Improve accessibility contrast for pre-test message (flutter/flutter#180469) 2026-02-05 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#181965) 2026-02-05 engine-flutter-autoroll@skia.org Roll Skia from 8543ce512d5c to 079d092f49e6 (8 revisions) (flutter/flutter#181964) 2026-02-05 50643541+Mairramer@users.noreply.github.com Add `clearError` API to Form and FormFieldState (flutter/flutter#180752) 2026-02-05 okorohelijah@google.com Bump minimum required Xcode version to 15 and recommended to 16 (flutter/flutter#180531) 2026-02-05 GiancarloCante@gmail.com Rename "widgetTester" parameter to "tester" in "WidgetTesterCallback" (flutter/flutter#180944) 2026-02-05 engine-flutter-autoroll@skia.org Roll Packages from 3bddf2c to c197455 (3 revisions) (flutter/flutter#181962) 2026-02-05 jason-simmons@users.noreply.github.com Temporarily remove the Pixel 9/API 36 device from the Firebase Test Lab tests. (flutter/flutter#181956) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC stuartmorgan@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 ...
This updates the style guide following the flutter.dev/go/flutter-style-updates Dash Forum.
Companion PR: #181985
Part of: #180607
Gemini's style guide
This change does not update Gemini's style guide since that links to Flutter's style guide.
Pre-launch Checklist
///).If you need help, consider asking for advice on the #hackers-new channel on Discord.
Note: The Flutter team is currently trialing the use of Gemini Code Assist for GitHub. Comments from the
gemini-code-assistbot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.