LESSON 30分

チェックリストの作り方

ストーリー

「チェックリストが大事なのはわかりました。でも、何を書けばいいんですか?」

「いい質問だね。3つのステップで作れるよ」

「3つだけ?」

「うん。過去のミスから学ぶ、カテゴリ分けする、優先順位をつける。これだけ」


チェックリスト作成の3ステップ

ステップ1: 過去のミスから学ぶ

最も効果的なチェック項目は、過去に実際に起きたミスから生まれます。

過去のミス → チェック項目:

× console.logを消し忘れてコミットした
  → [ ] 不要なconsole.logを削除したか

× テストを実行せずにPRを出した
  → [ ] テストが全てパスしているか

× 環境変数をハードコードしてしまった
  → [ ] 機密情報がコードに含まれていないか

「失敗ノート」をつけておくと、チェックリストの材料が自然に溜まります。

ステップ2: カテゴリ分けする

チェック項目が増えてきたら、カテゴリに分類します。

■ コード品質
  - [ ] 変数名・関数名は意味が伝わるか
  - [ ] コメントは適切に書かれているか
  - [ ] 重複コードはないか

■ 動作確認
  - [ ] 主要な機能が正しく動くか
  - [ ] エラー時の動作を確認したか
  - [ ] 境界値を確認したか

■ セキュリティ
  - [ ] 機密情報がコードに含まれていないか
  - [ ] 入力値のバリデーションがあるか

■ その他
  - [ ] 不要なファイルが含まれていないか
  - [ ] コーディング規約に準拠しているか

ステップ3: 優先順位をつける

すべてのチェック項目が同じ重要度ではありません。

優先度基準
必須これを忘れると重大な問題機密情報チェック、テスト実行
重要品質に大きく影響するエラーハンドリング、命名規則
推奨あるとより良いコメントの充実、リファクタリング

良いチェックリストの特徴

1. 具体的であること

× ダメな例: [ ] コードの品質を確認する
○ 良い例:  [ ] 変数名がキャメルケースになっているか
           [ ] 関数が50行以内に収まっているか

2. 行動に結びつくこと

× ダメな例: [ ] セキュリティに注意する
○ 良い例:  [ ] .envファイルがコミット対象に含まれていないか
           [ ] APIキーがソースコードに直書きされていないか

3. 適度な量であること

× 多すぎ: 50項目(疲れて確認が雑になる)
× 少なすぎ: 2項目(チェックの意味がない)
○ 適切: 10〜20項目(集中して確認できる)

チェックリストのテンプレート

新人向けスターターキット

以下のテンプレートを出発点にして、自分用にカスタマイズしていきましょう。

markdown
## コミット前チェックリスト

### 必須
- [ ] コードが正しくコンパイル/実行できる
- [ ] テストが全てパスしている
- [ ] 機密情報(パスワード、APIキー等)が含まれていない
- [ ] 不要なデバッグコード(console.log等)を削除した

### 重要
- [ ] 変数名・関数名が意味を伝えている
- [ ] エラーハンドリングが実装されている
- [ ] チケットの受入条件を全て満たしている

### 推奨
- [ ] コードにコメントを適切に追加した
- [ ] 同じコードの重複がない
- [ ] コーディング規約に準拠している

チェックリストの育て方

チェックリストは生き物です。定期的に見直しましょう。

タイミングやること
ミスをしたとき項目を追加する
レビューで指摘を受けたとき指摘内容を項目に追加する
1ヶ月ごと不要になった項目を削除する
新しい技術を学んだとき関連する項目を追加する
チェックリストの成長サイクル:

[ミスする] → [原因を分析] → [チェック項目に追加]
     ↑                              ↓
[新しいミスに遭遇] ← [同じミスを防げた!]

まとめ

ポイント内容
作成3ステップ過去のミスから学ぶ → カテゴリ分け → 優先順位
良い特徴具体的、行動に結びつく、適度な量
育て方ミスや指摘のたびに更新する

チェックリスト

  • チェックリスト作成の3ステップを説明できる
  • 良いチェックリストの特徴を3つ挙げられる
  • テンプレートを元に自分用のチェックリストを作れる

次のステップへ

チェックリストの作り方が理解できましたか?

次のセクションでは、コーディング中に特に注意すべきチェックポイントを学びます。 実際のコードを書くときに使える具体的なポイントを押さえましょう。


推定読了時間: 30分