📖 読了目安 約5分
この記事の目次

ドキュメントの書き方

コメント、コミットメッセージ、報告書など、エンジニアが書くドキュメントの書き方を学びます。

ドキュメントを書く基本原則

1. 読み手を意識する

  • 誰が読むのか(上司、同僚、将来の自分)
  • 何を知りたいのか
  • どの程度の前提知識があるか

2. 結論を先に書く

  • 最初に結論や要点を書く
  • 詳細は後から説明
  • 忙しい人でも要点が分かるように

3. 構造化する

  • 見出しをつける
  • 箇条書きを活用
  • 長文を避ける

コメントの書き方

良いコメントの原則

「なぜ」を書く

// 良い例:なぜそうしているかを説明
// 税率は法改正で変更される可能性があるため、定数として定義
final double TAX_RATE = 0.10;

// 悪い例:何をしているかを説明(コードを見れば分かる)
// 税率を0.10に設定
final double TAX_RATE = 0.10;

良いコメントの例

// 外部APIの仕様により、日付はYYYYMMDD形式で送信する必要がある
String dateStr = date.format(DateTimeFormatter.ofPattern("yyyyMMdd"));

// パフォーマンス改善のため、100件ずつバッチ処理する
// 一度に全件処理すると、メモリ不足になる可能性がある
for (int i = 0; i < items.size(); i += 100) {
    processBatch(items.subList(i, Math.min(i + 100, items.size())));
}

悪いコメントの例

// 悪い例1:コードを日本語に訳しただけ
// ループを10回繰り返す
for (int i = 0; i < 10; i++) {

// 悪い例2:古くなって嘘になっている
// ユーザー名の最大長は20文字
// (実際は50文字に変更済み)
if (name.length() > 50) {

// 悪い例3:当たり前のことを書いている
// コンストラクタ
public User() {

ドキュメントコメント

メソッドやクラスには、ドキュメントコメントを書きます。

/**
 * 税込金額を計算する。
 *
 * @param amount 税抜金額
 * @return 税込金額(小数点以下切り捨て)
 * @throws IllegalArgumentException amountが負の値の場合
 */
public int calculateTaxIncluded(int amount) {
    if (amount < 0) {
        throw new IllegalArgumentException("金額は0以上である必要があります");
    }
    return (int) (amount * (1 + TAX_RATE));
}

コミットメッセージの書き方

基本形式

[種類] 変更内容の要約

詳細な説明(必要に応じて)

種類の例

種類 用途
add 新機能の追加
fix バグ修正
update 機能の修正・改善
remove 機能・ファイルの削除
refactor リファクタリング
docs ドキュメントの変更
test テストの追加・修正

良い例・悪い例

# 悪い例(何をしたか分からない)
修正
更新
対応
fix

# 良い例(具体的に分かる)
[fix] ログイン時のバリデーションエラーを修正
[add] ユーザー検索機能を追加
[update] メール送信処理のタイムアウト時間を30秒に変更
[refactor] UserServiceのメソッドを整理

詳細を書く場合

[fix] ログイン時のバリデーションエラーを修正

- メールアドレスの形式チェックが正しく動作していなかった
- 正規表現のパターンを修正
- 関連するテストケースを追加

Issue: #123

報告書の書き方

調査報告書の構成

# 〇〇の調査報告

## 結論
(最初に結論を書く)

## 調査内容
- 調査した項目1
- 調査した項目2

## 詳細
(具体的な調査結果)

## 対応案
1. 案A:〇〇
2. 案B:△△

## 備考
(補足事項)

進捗報告の構成

# 進捗報告(YYYY/MM/DD)

## 完了したこと
- タスクA
- タスクB

## 進行中のこと
- タスクC(進捗50%)

## 問題・課題
- 〇〇でエラーが発生、原因調査中

## 次にやること
- タスクD
- タスクE

障害報告書の構成

# 障害報告書

## 概要
- 発生日時:YYYY/MM/DD HH:MM
- 影響範囲:〇〇機能
- 対応状況:復旧済み

## 事象
(何が起きたか)

## 原因
(なぜ起きたか)

## 対応内容
(何をしたか)

## 再発防止策
(今後どうするか)

手順書の書き方

良い手順書の特徴

  • 番号付きで順序が明確
  • 1ステップ1操作
  • 前提条件が明記されている
  • スクリーンショットや例がある

手順書の例

# 開発環境構築手順

## 前提条件
- Windows 10 以上
- 管理者権限があること

## 手順

### 1. Node.js のインストール
1. https://nodejs.org/ にアクセス
2. LTS版をダウンロード
3. ダウンロードしたファイルを実行
4. インストーラーの指示に従ってインストール

### 2. 動作確認
1. コマンドプロンプトを開く
2. `node -v` を実行
3. バージョン番号が表示されればOK

## トラブルシューティング
- 「コマンドが見つかりません」と出る場合
  → PCを再起動してください

手順書を書いた後にやること

  • 自分で手順通りにやってみる
  • 別の人に試してもらう
  • 不明点があれば修正する

まとめ

コメント

  • 「なぜ」を書く
  • コードを日本語に訳さない
  • 古くなったら更新する

コミットメッセージ

  • 種類と要約を明確に
  • 具体的に何をしたか分かるように

報告書

  • 結論を先に書く
  • 構造化して読みやすく

手順書

  • 1ステップ1操作
  • 自分で試してから共有