全体
12 views
全体
Session1
Session2
Session3
Session4
Session5
Session6
Session7
Session8
Session9
Session10
Session11
評価項目 | session | レビュータイプ | 補足 |
---|---|---|---|
1 | nits | より意図が分かりやすくなり可読性が向上する | |
1 | nits | const をつけることができ、パフォーマンスがより向上する | |
1 | nits | より適切なものを使うことによって、可読性が向上する | |
1 | good | 縦画面固定は必須ではなく、対応していた場合のレビュー項目
SystemChrome.setPreferredOrientations の方法では制限事項があり、特定の条件では機能しない
ref: https://gist.github.com/blendthink/7529efc701be36b9bd1f3a9b55570225 | |
1 | nits | ||
1 | imo | ページ内に補足あり📝 | |
1 | nits | const で定義できる SizedBox や Padding で置き換えられないか確認する | |
2 | must | 後々、画像追加する際に都度修正する必要がなくなり、保守性が向上する | |
2 | must | 不要なインスタンス生成を日頃から行っていると、ループ処理などの重たい処理を行う際にも記述してしまってパフォーマンスに影響を及ぼしてしてしまう恐れがあるため、日頃から無駄なことをしないように意識する | |
2 | nits | APIが修正されて不具合が入り込んだ時のことを想定しておくと、より安全性や保守性が向上する | |
2 | nits | 分岐処理で switch を使用することができ、可読性や保守性が向上する | |
2 | must | API が意図せずに変更されたり、不具合が入り込んだりした時のことを想定して、API の処理時に Error が発生しないようにすることで、より安全性や保守性が向上する
Enum の .values.byName() でスローされるのは ArgumentError で、 アプリケーションコードで Error をキャッチするのは適切ではないため、Exception をスローする or null を返す拡張関数を自作する
ref: https://dart.dev/effective-dart/usage#error-handling | |
2 | next | ||
2 | nits | flutter_gen または、独作 | |
3 | must | 予期せぬリビルドが生じる可能性があるため
代わりに、initStateに処理を書いているか | |
3 | must | スレッドをブロックしてしまうから | |
3 | must | 非同期処理で UI を操作しようとするときに mounted のチェックをしていないと、
Widget が Widget Tree に マウントされていない可能性があり、エラーが生じることがある | |
3 | good | ||
3 | good | go_router のバージョン 6.5.0 ~ 6.5.4 だと iOS のスワイプバックで戻ってきた時に、再帰処理が実行されないことがあった。それが原因で、初期画面から天気画面に遷移しないことがあったため、実際の案件ではこのような iOS・Android のスワイプでの挙動の差異がないかというところにも気をつける
go_router のバージョン 6.5.5 で不具合修正済み
ref: https://github.com/flutter/packages/pull/3613 | |
4 | must | • void afterDisplayLayout() ⚪︎
• void afterDisplayLayout() {} × | |
5 | good | ||
5 | nits | 2つのパッケージは関連が強いので、コミットをまとめておいた方が良い | |
5 | nits | ネストが深くなるのを防ぎ、可読性・保守性が高まる | |
5 | good | 可読性・再利用性を高める | |
5 | good | ||
6 | imo | 使うことによって、 !, ? を書かなくてよくなる | |
6 | must | json_serializable or freezed を利用していたら、不要 | |
7 | must | ページ内に補足あり📝 | |
7 | must | デフォルト値を記述すると、他のデフォルト値も全て記載しないといけなくなりそうで、メンバーに混乱が生じる | |
7 | nits | ページ内に補足あり📝 | |
7 | good | ページ内に補足あり📝 | |
8 | mustimo | ページ内に補足あり📝 | |
8 | nitsmustimo | ページ内に補足あり📝 | |
8 | must | ||
8 | must | ||
8 | must | 特に意図がない限り基本的に状態は保持しつづけるべきではない | |
8 | nits | • アーキテクチャの説明でなく、実装の説明になっていないか
◦ 具体的なクラス名やファイル名を記載すると、リネームのたびに修正が必要になる | |
8 | imo | ページ内に補足あり📝 | |
8 | must | ||
8 | goodFYI | riverpod_graphを使うことでProviderの依存関係図を自動生成できる
https://github.com/rrousselGit/riverpod/tree/master/packages/riverpod_graph | |
9 | nits | ||
9 | must | • @visibleForTesting だけの場合、警告の表示で無視することもできてしまうため、analyzer の error に設定した方がより安全
• ref: https://kanta-mori.netlify.app/p/visiblefortestingとは/ | |
9 | nits | ||
9 | must | ||
9 | must | 依存先を明確にしてテストダブルを利用しているか | |
9 | nits | ||
9 | nits | ||
9 | must | ||
910 | nits | ||
910 | nitsmustimo | ページ内に補足あり📝 | |
10 | good | ||
10 | nits | ||
10 | must | ||
10 | good | ||
11 | FYI | ページ内に補足あり📝 | |
11 | must |