This repository was archived by the owner on Apr 14, 2026. It is now read-only.
Draft
Conversation
…t other places: - many packages have problems with this - for example `AppDriverAdapter get appDriver => _adapter!;` in class FlutterWorld. AppDriverAdapter have generics, but FlutterWorld dont give it. - Map<String, dynamic> use have problems. short `((document['server'])?['http']?['graphql'] ?? graphql)` transform to ` (((document['server'] as Map<String, dynamic>?)?['http'] as Map<String, dynamic>?)?['graphql'] ?? graphql)`
"AVOID using the following asynchronous file I/O methods because they are much slower than their synchronous counterparts."(c)
closed in "onClose()" in _subscriptions.forEach This is not a mandatory commit.
This is not a mandatory commit.
"If a class is not immutable, overloading operator == and hashCode can lead to unpredictable and undesirable behavior when used in collections."(c)
"Declaring parameters as final can lead to unnecessarily verbose code, especially when using the "parameter_assignments" rule."(c)
This is a good way to unify all imports. I understand that most(or all in directives_ordering) of the changes are related to the default sorting option, for example, the same VSCode sorts: import '/domain/model/user_call_cover.dart'; import '/domain/model/user.dart'; and this directive make: import '/domain/model/user.dart'; import '/domain/model/user_call_cover.dart';
Unfortunately, there is no separate option for true and false. This is a controversial point; writing something like: if(!some_lond_line); is worse read than: if(some_lond_line==false); This is not a mandatory commit.
GraphQlProviderExceptions.parse return final Object? originalException; ... I'm just checking type to throw Exception
remove empty Widgets it's a matter of taste, that's why I turned it off
'...allows the compiler to do optimizations'(c)
it's realy many fixes, 'allows the compiler to do optimizations'(c)
it's a matter of taste, but: 'Note that this guideline specifically says "function literal". If you want to invoke some already existing function on each element, forEach() is fine.'(c)
fix int? => int (not noticed when adding `final` (pubspec.g.dart generate error)... I hate rebase, so...)
it's a matter of taste to remove await..., but this is important to use: remove async it do not create Future object if it not needed. it's good for optimization
ColoredBox faster Container
DecoratedBox faster Container
it's a matter of taste
good optimization, since the merger happens once at the end
update branch
it's realy many fixes, 'allows the compiler to do optimizations'(c)
return prefer_relative_imports: true
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Synopsis
This PR introduces a set of linting rules to improve code consistency and maintainability. The changes aim to make the code more readable and easier to navigate, helping contributors understand and follow established conventions.
Solution
Added and configured linting rules via analysis_options.yaml, enforcing best practices for code style, naming conventions, and documentation. The changes organized into 32 atomic commits, each with a descriptive message explaining the adjustments made.
Notice
Checklist
k::labels applied