システム開発演習中のコード規約は以下のとおりです。
なお、この規約にないルールは各社で自由に決めることができます。
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に組み込まず、パラメータ化クエリまたはプリペアドステートメントを使用します。