初めに
Flutterでアプリ開発をしている際、必ず迷うのが新たに作成したファイルやディレクトリの名前です。他の言語にも触れていると、命名規則を混同してしまうこともあります。
自分で覚えるためにもここでまとめておきたいと思います。
命名規則を設ける意味
複数人でアプリ開発をする場合、開発者一人一人が異なる基準で命名すると、互いのコードの可読性が損なわれ、コードレビューが困難になったり、開発効率や保守性の悪化につながります。名前の衝突や使い回しなどでバグが生じることもあります。命名規則を設けることでそのような非効率を防ぐことができます。
なお、この記事ではDartの公式サイトを参考にしましたが、命名規則は開発チームごとで異なることもあるので、事前に確認しておきましょう。
識別子
識別子の表記方法には以下の3種類があります。
- UpperCamelCase
- lowerCamelCase
- lowercase_with_underscores
UpperCamelCase
UpperCamelCase とは識別子の一番初めの文字を含む単語の文字を一番最初の文字を大文字にする表記方法です。
例)CustomMenu, User
以下の命名に使用されます。
- クラス名
- 列挙型
- typedef
- 型パラメータ
lowerCamelCase
lowerCamelCase とは識別子の初めの文字のみを小文字にし、それ以外の各単語の最初の文字を大文字にする表記方法です。
例)httpRequest, itemList
以下の命名に使用されます。
- 変数
- 関数
- クラスのメンバー(プロパティ, メソッド)
lowercase_with_underscores
lowercase_with_underscoresとは各単語の最初の文字は全て小文字で、単語の間にアンダースコアを記述する表現方法です。アンダースコアが蛇のように見えることから「スネークケース」とも呼ばれます。
例)package:flutter_riverpod/flutter_riverpod.dart, first_page
以下の命名に使用されます。
- ファイル
- ディレクトリ
- パッケージ
- ライブラリ
あとがき
最後まで読んでいただきありがとうございました。
余談ですが、「CamelCase」の「Camel」とは日本語でラクダのことであり、各単語の最初の文字を大文字で記述した際に、大文字が飛び出したラクダのコブに似ていることに因んで名付けられたようです。言葉の意味を調べると新たな発見があって面白いかもしれません。
参考にしていただければ幸いです。
誤っている箇所があればご指摘いただければ幸いです。
参考にしたサイト