システム開発演習中のコード規約は以下のとおりです。

なお、この規約にないルールは各社で自由に決めることができます。

1. 全般的な規約

  • ソースコードには適切なコメントを記述します。特に、メソッド(関数)やクラス、複雑なロジックについては、その目的や動作を明確に説明します。
  • 不明瞭な命名は避け、変数、メソッド(関数)、クラスなどの名前はその目的や機能を明確に反映させます。

2. Java (Spring Boot)

クラス名:

  • クラス名の最初の単語は大文字で、それ以降の単語の最初の文字も大文字にします。(パスカルケース)
  • 例: OrderProcessor, EmailValidator
  • 名詞または名詞句を使用し、具体的な目的や機能を示す名前を付けます。
  • 例: Customer, OrderService

メソッド名:

  • メソッド名はキャメルケースを使用します。
  • 動詞または動詞句で始まり、操作や動作を明確に示します。
  • 例: calculateTotal(), validateInput(), sendEmail()

変数名:

  • キャメルケースを使用します。
  • 意味のある名前とし、その役割や内容を明示します。
  • 例: count, userName, totalAmount

定数名:

  • すべて大文字で表記し、単語間はアンダースコア(_)で区切ります。
  • 例: MAX_VALUE, DEFAULT_TIMEOUT, DB_NAME
  • 定数はfinal修飾子を使用して宣言し、変更不可であることを示します。

パッケージ名:

  • 小文字の英字を使用し、単語間はドット(.)で区切ります。
  • 例: com.example.orderservice

コントローラー:

  • クラスには@Controllerを付けます。
  • メソッドには@GetMapping, @PostMappingなどを用いて、HTTPリクエストを処理します。
  • 表示や遷移は必ずコントローラーを介して行い、直接ファイルにアクセスさせない構成とします。

その他:

  • 画面遷移やリダイレクトは常にコントローラーを経由して行います。
  • テンプレートエンジン(Thymeleafなど)で構成されたビューには、直接アクセスできないよう制御します。

3. HTML5/CSS3/Bootstrap

  • ファイル名はすべて英小文字を使用します。
  • 複数の単語を含むファイル名では、単語間をハイフン(-)で区切るケバブケースを使用します。
  • ファイル名はその内容を簡潔に説明するようにします。
  • HTMLファイルの拡張子は.htmlを使用します(.htmは使用しません)。
  • Bootstrapを使用する場合は、適切なクラスを使用して、レスポンシブなデザインを心がけます。

4. JavaScript

  • 変数名、関数名はキャメルケースを使用します。
  • 定数名はすべて大文字で、単語間はアンダースコア(_)で区切ります。
  • グローバル変数の使用は避け、スコープを意識した実装を行います。
  • jQueryなどのライブラリを使用する場合は、変数名に接頭辞(例:$)を付けて区別します。

5. MySQL

命名規則:

  • テーブル名、カラム名はすべて小文字を使用し、単語間はアンダースコア(_)で区切るスネークケースを使用します。
  • 例: user_account, order_id
  • テーブル名は原則として複数形を使用します。
  • 例: users, orders

SQLキーワードの表記:

  • SQLキーワード(SELECT, INSERT, UPDATE, WHEREなど)は大文字で記述します。

インデントと空白行:

  • クエリが複数行になる場合は、インデントを用いて読みやすくします。
  • 長いクエリには空白行を挿入して、セクションを視覚的に分けます。

コメント:

  • 複雑なクエリには、目的や処理内容を説明するコメントを付けます。

ワイルドカード*の使用:

  • ワイルドカード*の使用は避け、必要なカラムを明示的に指定します。

SQLインジェクション対策:

  • ユーザー入力は直接SQLに組み込まず、パラメータ化クエリまたはプリペアドステートメントを使用します。

「当社システム開発演習でのコード規約」 最後までお読みいただきありがとうございます。