33
23

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[Flutter] レビュワーに配慮のあるコードを書こう

Posted at

スクリーンショット 2023-10-10 19.29.09.png

こんにちわ。いせりゅーです。

9月は忙しかったですが、10月に入り、ようやく落ち着きを取り戻してきました。そのため、今後はたくさんのアウトプットを目指します!

業務中にレビューを受けた際、いくつか非常に参考になるアドバイスを得ることができました。その内容を共有し、皆さんと一緒に学んでいきたいと思います。

問題の背景

  • 自動生成ファイル(.g.dartや.freezed.dart)はレビューする際に視界を遮ることがある。
  • 生成ファイルを意識せずにレビューを行うことで、効率を上げられる。

などと考えていました。この背景を踏まえ、問題の解決策として2つの方法を紹介します。

他にもありましたら教えていただけると幸いです。

解決策のその1 .gitignoreに記載を行う

こちらに記載の追加方法として

.gitignore
*.freezed.dart
*.g.dart

メリット
gitignoreに追加することで、「Files changed」の件数が少なくなり、レビューがしやすくなります。

デメリット
他の開発者がプロジェクトを取り扱う際、自動生成コマンドの実行が必要となるため、それに関する説明を README.mdなどに記載する配慮が必要になる場合があります。

解決策のその2 .gitattributesに記載を行う

以下のディレクトリ構造で、.gitattributesに追記を行います。(一部省略しています🙇)

android
ios
lib
.gitattributes <-こちら
.gitignore

具体的な記述例は以下のとおりです。
今回は、.freezed.dart.g.dart の記載を行いました。

.gitattributes
*.freezed.dart linguist-generated=true
*.g.dart linguist-generated=true

メリット
↓レビューで差分を見た時にデフォルトで閉じられている状態になります(すごい😁)

スクリーンショット 2023-10-10 19.06.53.png

上の画像は、私が現在取り組んでいるゆめみの研修課題のスクリーンショットです。
課題はまだ途中ですが、頑張って進めています🔥

最後に

個人的には、2つ目の方がいいと思いました。理由としては

  • .gitignoreに追加すると、リポジトリをクローンした場合、必要なファイルの生成が必要となる。
  • 「Files changed」の数は多いものの、関連ファイルはデフォルトで折りたたまれているので、実質的なレビューコストはほとんど変わらない。

以上、Flutter開発でのより良いレビュー体験を目指しましょう😁

33
23
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
33
23

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?