【Flutter】コーディング規約

Flutter

コーディング規約の目的

  1. 一貫性の確保: 全ての開発者が同じスタイルやフォーマットでコードを書くことで、コードベース全体が統一され、可読性が向上します。
  2. メンテナビリティの向上: 読みやすく理解しやすいコードは、後続のメンテナンスや修正作業が効率的に行えるようになります。
  3. エラーの予防: 特定のスタイルやルールに基づいたコーディングは、一部のエラーやバグを事前に防ぐ役割を果たします。
  4. 効率的なコラボレーション: チーム内で統一されたコーディング規約を共有することで、開発者間でのコミュニケーションが円滑になり、コードの理解や協力が容易になります。
  5. プロジェクトの品質向上: 一貫性と可読性が確保されたコードは、プロジェクト全体の品質向上に寄与します。
  6. 新規メンバーのオンボーディング: 新規メンバーがプロジェクトに参加する際、統一された規約に基づいたコーディングは迅速な適応を促進します。

コーディング規約

コードの全体整形

  1. コード整形を必ずしてください。Ctrl + Shift + ICtrl + Alt + L
  2. 提出前にコード内の警告を解消してください。解決が難しい場合は相談してください。
  3. 文字列やプロジェクト内で繰り返し利用するViewはcommonにまとめてください。
  4. Viewでの値の保持はしないでください。原則としてStateとNotifierのみを使用し、View内での値の変更は禁止です。

改行

  • 引数が1つの場合は1行で書くことを原則としますが、長くなる場合は適宜改行してください。
  • 複数行になる場合は,で改行してください。

Containerの利用について

  • Containerの使用は原則禁止で、SizedBox や Padding で置き換えてください。解決が難しい場合相談してください。

文字列

  • 文字列は基本的にシングルクウォートを使用してください。

import

  • 相対パスで指定してください。

if・三項演算子について

  • Viewでの条件分岐が必要な場合は、値が明確であれば三項演算子を利用してください。
Text(isTrue ? 'はい' : 'いいえ');
  • 以下はNG
isTrue ? Text('はい') : Text('いいえ');

二つ以上の引数を作る際

  • 名前付き引数にしてください。
{
  required String item1,
  required String item2,
}

textの共通style利用について

  • 共通のtext styleは以下のように使用してください。新しく作成せずに.copyWithで対応してください。
CommonStyle.size14()

Docコメントについて

  • クラスや関数には以下のようなドキュメントコメントを必ず追加してください。
/// # [CustomButton]
/// ### カスタムボタン(赤)
/// ## parameters
/// ### [onTap] - クリック時のイベント
/// ### [text] - ボタンに表示される文言
class CustomButton extends StatelessWidget {
  const CustomButton({
    super.key,
    required this.onTap,
    required this.text,
  });

  final VoidCallback onTap;
  final String text;
}
/// # [fetchData]
/// ### Dioを使用してデータを取得
/// ## return
/// ### [Response] - 通信結果
/// ## parameters
/// ### [url] - データを取得するURL
Future<Response<dynamic>> fetchData({
  required String url,
}) async {
  // implementation
}

Buy me a coffee!

Flutterアプリ開発
シェアする
sogaをフォローする
タイトルとURLをコピーしました