【テンプレあり】英語コーディング規約の書き方|ITプロジェクトで使える日英フォーマット付き

※本サイトで紹介している商品・サービス等の外部リンクには、アフィリエイト広告が含まれる場合があります。

技術英語の実践術

英語でコーディング規約を作るよう求められたとき、何を書けばいいか迷った経験はないだろうか。

コーディング規約はチームのコード品質と一貫性を維持するためのドキュメントだ。グローバルチームでは英語が基本になるが、6つのセクション構成さえ押さえれば英語でも問題なく書ける。

この記事では、コーディング規約に必要な6つの構成要素と、そのまま使える日英テンプレートを紹介する。コピペして使えばすぐに実務で活用できる。


コーディング規約に必要な6つの構成要素

コーディング規約はチーム全員が同じスタイルでコードを書くための基準を定義するドキュメントだ。以下の6つが標準的な構成要素になる。

  1. 基本情報(Document Info)
  2. 全般ルール(General Rules)
  3. 命名規則(Naming Conventions)
  4. フォーマット・スタイル(Formatting & Style)
  5. コメント・ドキュメンテーション(Comments & Documentation)
  6. レビュー・適用ルール(Review & Enforcement)

なぜ英語で書くのか

グローバルチームではコーディング規約も英語が共通言語になる。英語で書くことで、海外のチームメンバーや外部コントリビューターも同じ基準でコードを書ける。

「読めば誰でも同じコードが書ける」ことが、コーディング規約の最大の目的だ。

コーディング規約とリンター設定の使い分け

コーディング規約は「なぜそのルールが必要か」の背景と例外処理まで含めた人間向けのドキュメントだ。一方、リンター設定(ESLint・Pylint等)は自動検出できるルールを機械に委ねる。両方を整備することで、コード品質の維持が体系化される。

コードレビューの英語フレーズは英語コードレビューの進め方でも確認してほしい。


テンプレートをダウンロード(Word)

以下のWordファイルをダウンロードして、プロジェクトに合わせてカスタマイズして使ってほしい。表の列・行はそのまま追加・削除できる。

📥 日本語テンプレートをダウンロード(Word)
📥 Download English Template (Word)

日本語版テンプレート(コピペOK)

基本情報

項目内容
プロジェクト名(例:〇〇システム開発プロジェクト)
対象言語(例:TypeScript / Python / Go)
バージョンv1.0
作成日YYYY-MM-DD
作成者(名前・役職)
最終更新日YYYY-MM-DD
ステータスDraft / In Review / Approved

全般ルール

#ルール理由
11ファイル1責務を原則とする単一責任原則に従い、変更の影響範囲を限定するため
21関数は50行以内を目安にする可読性と単体テストのしやすさを確保するため
3マジックナンバーは定数に定義するコードの意図を明確にし、変更を一元管理するため
4エラーは必ず明示的にハンドリングするサイレントエラーによる予期せぬ動作を防ぐため
5不要なコメントアウトはコミット前に削除するコードの可読性を保ち、混乱を避けるため

命名規則

対象規則
変数名キャメルケース(camelCase)userId, orderCount
定数名大文字スネークケース(UPPER_SNAKE_CASE)MAX_RETRY_COUNT, API_BASE_URL
関数名動詞で始めるキャメルケースgetUserById(), calculateTotal()
クラス名パスカルケース(PascalCase)UserService, OrderRepository
ファイル名ケバブケース(kebab-case)user-service.ts, order-utils.py
インターフェース名先頭にIをつけない(TypeScriptの場合)UserRepositoryIUserRepositoryは不可)

フォーマット・スタイル

項目設定値備考
インデントスペース2つ(または4つ)タブ禁止。プロジェクトで統一すること
1行の最大文字数120文字長い場合は適切に改行する
文字コードUTF-8BOMなし
改行コードLF(Unix形式)CRLFは使用禁止
末尾の空白禁止エディタの自動削除設定を推奨
import文グループ分けして並べる外部ライブラリ→内部モジュール→型定義の順

コメント・ドキュメンテーション

対象ルール
関数・メソッドJSDoc / docstringで引数・戻り値・例外を記述する
複雑なロジック「何をしているか」ではなく「なぜそうしているか」をコメントする
TODO / FIXMETODO: [担当者名] 内容 の形式で記述する
公開APIすべてのpublic関数にドキュメントを必須とする
自明なコードコメント不要。コードが自己説明的になるよう命名を工夫する

レビュー・適用ルール

項目内容
適用開始日YYYY-MM-DD
適用対象すべての新規コード。既存コードはリファクタリング時に随時適用
自動チェックESLint / Pylint をCIに組み込み、PRマージ前にチェックを必須とする
コードレビューレビュアーはこの規約への準拠を確認する。違反はコメントで指摘する
例外処理業務上やむを得ない場合は、該当箇所に理由をコメントし、TLの承認を得る
規約の更新チームの合意のうえ更新し、変更履歴に記録する

英語版テンプレート(コピペOK)

Document Info

FieldValue
Project Name(e.g., [System Name] Development Project)
Target Language(e.g., TypeScript / Python / Go)
Versionv1.0
Created DateYYYY-MM-DD
Author(Name / Role)
Last UpdatedYYYY-MM-DD
StatusDraft / In Review / Approved

General Rules

#RuleReason
1Each file should have a single responsibility.Following the Single Responsibility Principle to limit the scope of changes.
2Aim to keep functions under 50 lines.To ensure readability and ease of unit testing.
3Define magic numbers as named constants.To clarify intent and centralize changes.
4Always handle errors explicitly.To prevent unexpected behavior from silent errors.
5Remove commented-out code before committing.To maintain code readability and avoid confusion.

Naming Conventions

TargetConventionExample
VariablescamelCaseuserId, orderCount
ConstantsUPPER_SNAKE_CASEMAX_RETRY_COUNT, API_BASE_URL
FunctionscamelCase starting with a verbgetUserById(), calculateTotal()
ClassesPascalCaseUserService, OrderRepository
Fileskebab-caseuser-service.ts, order-utils.py
InterfacesNo I prefix (TypeScript)UserRepository (not IUserRepository)

Formatting & Style

ItemSettingNotes
Indentation2 spaces (or 4)No tabs. Keep consistent across the project.
Max line length120 charactersBreak lines appropriately if exceeded.
EncodingUTF-8No BOM.
Line endingsLF (Unix-style)CRLF is not allowed.
Trailing whitespaceNot allowedConfigure your editor to auto-remove.
Import orderGroup and sort importsExternal libraries → internal modules → type definitions

Comments & Documentation

TargetRule
Functions / MethodsUse JSDoc / docstrings to describe parameters, return values, and exceptions.
Complex logicComment on why, not what.
TODO / FIXMEUse format: TODO: [Author Name] Description
Public APIsDocumentation is required for all public functions.
Self-explanatory codeNo comment needed. Focus on clear naming instead.

Review & Enforcement

ItemDetails
Effective DateYYYY-MM-DD
ScopeAll new code. Apply to existing code during refactoring.
Automated ChecksESLint / Pylint integrated in CI. Compliance check required before PR merge.
Code ReviewReviewers must verify compliance with this standard. Flag violations in comments.
ExceptionsIf a deviation is necessary, add a comment explaining the reason and get TL approval.
UpdatesUpdate by team consensus and record changes in the change log.

各セクションの書き方と例文

テンプレートを埋めるときに悩みやすいセクションを解説する。

命名規則の書き方

命名規則は「なぜその規則なのか」の背景も添えると、新メンバーが自律的に判断できるようになる。

日本語英語
意図が伝わる名前をつけるUse names that clearly communicate intent.
省略形は避け、フルネームで書くAvoid abbreviations; use full words.
否定形の変数名は避けるAvoid negated variable names (e.g., isNotValid).
複数形でコレクションを表現するUse plural nouns for collections (e.g., users, orders).
動詞で始まる関数名にするStart function names with a verb (e.g., get, create, update).

コードレビューでの指摘フレーズ

コーディング規約違反をレビューで指摘するときのフレーズをまとめた。

日本語英語
命名規則に従っていませんThis doesn’t follow our naming convention.
マジックナンバーを定数に切り出してくださいPlease extract this magic number into a named constant.
関数が長すぎます。分割を検討してくださいThis function is too long. Consider splitting it.
コメントは「なぜ」を説明してくださいThe comment should explain why, not what.
このコードには単体テストが必要ですThis code needs a unit test.

英語でのコードレビューへの返し方は英語コードレビューへの返し方でも確認してほしい。


コーディング規約でよく使う英語表現

実務でよく使う英語表現を場面別にまとめた。

コード品質・スタイル用語

日本語英語
命名規則Naming convention
コーディングスタイルCoding style
リンターLinter
コードフォーマッターCode formatter
静的解析Static analysis
技術的負債Technical debt
リファクタリングRefactoring
コードの可読性Code readability

レビュー・承認フレーズ

日本語英語
この規約に準拠していますThis is compliant with our coding standards.
規約の例外として承認しますApproved as an exception to the coding standards.
規約を更新する必要がありますThe coding standards need to be updated.
チームで合意を取りましょうLet’s reach a consensus as a team.
自動化できるルールはリンターに委ねましょうLet’s delegate automatable rules to the linter.

英語READMEのテンプレートは、英語READMEの書き方でも紹介しているので参考にしてほしい。

まとめ:英語コーディング規約は6つのセクションで完成する

英語コーディング規約に必要な構成要素を整理した。

  • 全般ルールで「なぜそのルールが必要か」の背景を明記する
  • 命名規則で「変数・関数・クラスの命名パターン」を統一する
  • フォーマット設定で「インデント・行長・改行コード」を標準化する
  • レビュー・適用ルールで「いつから・どこに・どう適用するか」を定義する

テンプレートをコピーして、チームの技術スタックに合わせてルールを追加・削除してほしい。特に命名規則と自動チェックの2点を早期に整備することで、コードレビューの議論が格段にスムーズになる。

コメント

タイトルとURLをコピーしました