コーディングに関する命名規約
ディレクトリ名
ディレクトリ名は、ケバブケース記法とします。
以下は本規約に従った命名例です。
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 |