style: コードフォーマットの変更
フォーマットのみの変更にstyleコミットタイプを使うタイミングを学びます。空白、セミコロン、クォート、styleとrefactorの違いを解説します。
Type Examples
詳細な説明
style コミットタイプ
styleタイプは、コードの意味や動作に影響しない変更に使用します。フォーマット、空白、セミコロン、クォート、末尾のカンマ、その他の見た目の変更が含まれます。Semantic Versioningでは、styleコミットはバージョンバンプをトリガーしません。
メッセージの例
style: apply prettier formatting to all files
style(components): convert double quotes to single quotes
style: fix indentation in config files
styleを使うタイミング
以下の場合にstyleを使用します:
- 自動フォーマット(Prettier、ESLint --fix、Black等)を適用する
- インデントを変更する(タブからスペースまたはその逆)
- クォートスタイルを変更する(シングルからダブルまたはその逆)
- 末尾のカンマを追加・削除する
- 空白の問題を修正する(末尾のスペース、空行)
- 使用するインポートを変えずにインポートを並べ替える
styleを使わないケース
| 変更内容 | 代わりに使う |
|---|---|
| 変数のリネーム | refactor |
| ロジックを説明するコメントの追加 | docs |
| 未使用コードの削除 | refactor |
| 動作を変えるlintエラーの修正 | fix |
styleとrefactorの比較
重要な違い:
style:空白、フォーマット、見た目の変更のみ。diffツールは変更を表示するが、AST比較では同一のツリーを表示する。refactor:コード構造が変わる(異なるAST)が、動作は同じ。
ベストプラクティス
- フォーマットコミットをロジック変更から分離する。コードレビューが容易になる。
- 自動フォーマッターを使用し、その出力を単一の
styleコミットとしてコミットする。 - 説明に使用したツールを記載する:
style: apply prettier v3.2 formatting - ファイルごとにフォーマットするのではなく、フォーマット変更をバッチ化して単一のコミットにする。
ユースケース
プロジェクトにPrettierを追加し、コードベース全体に適用しました。フォーマットの変更は純粋に見た目だけで、ロジックは変更されていません。レビュアーが詳細なコードレビューをスキップし、動作が変更されていないことの確認に集中できるよう、スタイルのみの変更であることを明確にするコミットメッセージが必要です。