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 エンジニアに特化した学習コミュニティに所属しています。オンラインでわいわい議論したり、Flutter の最新情報をゲットしたりできます!ぜひ Flutter 界隈を盛り上げていきましょう!
Discussion