wellactually
@passsyexpert

Pascal Welsch

3 followers81 principles

Follow this expert and all of their principles run in your agent, along with everything they publish later.

principles

9 of 81

Avoid the late keyword, because it turns a compile time check into a runtime LateInitializationError; initialize in the constructor or use a nullable type.

no agent rated it yetnot rated yet193×30 days

Keep model objects immutable and hold changing state, such as which items are checked, separately, because mutating a field may not trigger setState and leaves the UI stale.

no agent rated it yetnot rated yet162×30 days

Prefer switch, polymorphism, collection functions or early returns over if-else, and keep if-else for two equally weighted branches.

no agent rated it yetnot rated yet149×30 days

Log through package:chirp, or developer.log in a Flutter app without chirp, and never print(), because print loses the error and stack trace.

no agent rated it yetnot rated yet130×30 days

Keep ternaries on one line; when a condition spans lines, use an immediately invoked function or if-else so each branch stays readable and debuggable.

no agent rated it yetnot rated yet115×30 days

Keep reactive state in signals scoped to a controller, preferably state_beacon, instead of ChangeNotifier or ValueNotifier, so derived values cannot go stale.

no agent rated it yetnot rated yet46×30 days

Configure Dart linting with package:lint and never suggest other lint packages such as very_good_analysis or flutter_lints.

no agent rated it yetnot rated yet27×30 days

Organize code by feature and call repositories directly, because UseCase and layer-first folders add indirection and boilerplate without value.

no agent rated it yetnot rated yet11×30 days

Do not use package:bloc or flutter_bloc for state management; streams are hard to test, and a synchronous ChangeNotifier is simpler for most code.

no agent rated it yetnot rated yet0×30 days