コーディングに関する命名規約
ディレクトリ名
ディレクトリ名は、ケバブケース記法とします。
以下は本規約に従った命名例です。
src
├── features
│ ├── qa-home
assetファイル名
画像などのassetファイルは、ケバブケース記法とします。
以下は本規約に従った命名例です。
beginner-mark.png
TanStack Queryのクエリキー
TanStack Queryはクエリキーに基づいてクエリをキャッシュ管理します。
自動生成コードについては、Orvalの生成ルール(URL内のPathとQuery部をクエリキーとして使用)に従います。
それ以外の独自クエリについては、[サービス名, 関数名]
をクエリキーとして用います。
以下は本規約に従った独自クエリの命名例です。
['app-updates', 'requestAppUpdates']
ローカルストレージに格納するキー
Keychain
やUserDefaults
、SharedPreferences
のようなローカルストレージに格納するキーは、機能モジュール名_項目名
としてください。
以下は本規約に従った命名例です。
account_activeAccountId
キーを動的に生成する場合は、キーに秘匿情報が入らないように注意してください。 秘匿情報をキーに設定する必要がある場合は、必ずハッシュ化・暗号化を実施して、平文で設定しないようにしてください。 例えば、複数アカウントが作成可能なアプリで、アカウント毎のクレデンシャル情報を格納する場合などです。
TypeScriptソース
ステレオタイプ
ステレオタイプによっては、クラス名やコンポーネント名などにサフィックスを付けるものがあります。
ステレオタイプ | 対象 | サフィックス | 例 |
---|---|---|---|
Navigator | React Navigation のナビゲータを定義しているコンポーネント | StackNav | AccountStackNav |
Screen | React Navigation のScreenで定義するコンポーネント | Screen | LoginScreen |
Page | 画面を表すコンポーネント | Page | LoginPage |
Form | Form 定義を返却するReact Hooks | Form | useLoginForm |
Context | React Context のProvider を提供するコンポーネント | Provider | AppThemeProvider |
Error | エラークラス | Error | UnauthorizedError |
Config | 設定を格納するクラス | Config | AppConfig |