Flutter だけど GitHub リポジトリ名にハイフンを使いたい


結論

GitHub リポジトリ名に使う区切り文字がアンダーバーでも問題ないのですが、どうしてもハイフンを使いたい場合は、flutter create するときに --project-name オプションを付ければできます。

# flutter-sample-app ディレクトリに flutter_sample_app というパッケージ名の Flutter アプリを作成する
flutter create flutter-sample-app --project-name flutter_sample_app

なぜハイフンを使いたいのか?

どちらが好みですか?

ハイフン区切り
flutter-sample-app
アンダーバー区切り
flutter_sample_app

もともと私はアンダーバー区切りが好みでした。フォルダ名やファイル名もアンダーバーを使います。当然 GitHub リポジトリ名もアンダーバーを好んで使っていました。しかし、いろいろ調べて考えてみた結果、Flutter であっても GitHub リポジトリ名にはハイフン区切りが良さそうと思い直しました。

なぜハイフン区切りがよいと思い直したのか、その経緯を説明します。

GitHub リポジトリ名はハイフン区切りがよさそう

GitHub のリポジトリ名は flutter-sample-app のように ハイフン区切りが人気 のようです。また、Google は URL にハイフンを推奨 していますが、GitHub のリポジトリ名はそのまま URL になるので、やはりハイフンが良さそうです。

そいえば昔はアンダーバー区切りが主流だったけど、最近はハイフン区切りが増えたなぁと思っていました。

Flutter のパッケージ名にハイフンは使えない

ところが、Flutter アプリのパッケージ名に使う区切り文字はハイフンは使えず アンダーバーでなければいけません。flutter create で作成したアンダーバー区切りのディレクトリ名をそのまま GitHub リポジトリ名にすることが多いです。私もそうしていました。

しかし Flutter であってもハイフンにしたほうがよさそう

GitHub リポジトリで管理するのは Flutter アプリのコードだけでしょうか。いえ、例えば Firebase などバックエンドのコードも同じリポジトリで管理する場合があります(もちろん別リポジトリにするケースもあります)。ちなみに Firebase のプロジェクト名にアンダーバーは使えません。今は Flutter アプリしかなくても、将来もずっとそうとは限りません。あとからリポジトリ名を変えるのはなかなかハードルが高いです。であれば最初からハイフン区切りにしてしまったほうが良いと思いました。

あとは、これは全くの主観ですが、アンダーバー区切りよりハイフン区切りのほうがパッと見の視認性がよい気もしてきます。ハイフン区切りが人気があると言われるとなんだか良さそうな気がしてきませんか?(私はしてきてしまいました)

ハイフン区切り
flutter-sample-app
https://github.com/susatthi/flutter-sample-app
アンダーバー区切り
flutter_sample_app
https://github.com/susatthi/flutter_sample_app

というわけで、アンダーバー区切り派だった私が、Flutter であっても GitHub リポジトリ名にはハイフンを使うことにしました。今後 flutter create するときには --project-name を使います!

ちなみに Package や Plugin の場合はアンダーバーで良さそう

Package や Plugin の GitHub リポジトリの場合は、GitHub リポジトリ名 = パッケージ名 と言いきれるので、アンダーバーのままで良さそうです。

最後に

Flutter大学というFlutterエンジニアに特化した学習コミュニティに所属しています。興味がある方はこちらのページから参加できます。

https://flutteruniv.com/