まとめ
クリーンコードの全体像
このドキュメントで学んだクリーンコードの原則をまとめます。
チェックリスト
コードを書く際に確認すべきポイント:
命名
- 変数名・関数名は意図が明確か
- 検索可能な名前を使っているか
- 命名規則(camelCase、PascalCase、UPPER_SNAKE_CASE)に従っているか
- 省略形を使わず、完全な単語を使っているか
関数
- 関数は1つのことだけを行っているか
- 引数は2つ以下か(多い場合はオブジェクトを使用)
- 副作用を最小限に抑えているか
- 早期リターンでネストを減らしているか
TypeScript
-
anyを使用していないか - 適切な型アノテーションがあるか
-
unknownと型ガードを活用しているか - ユーティリティ型を適切に使っているか
クラス設計
- クラスは単一の責任を持っているか
- 継承より合成を選んでいるか
- インターフェースを使って抽象化しているか
- 高凝集・低結合を意識しているか
全般
- コードは自己文書化されているか
- 不要なコメントは削除したか
- マジックナンバーは定数化したか
- テストしやすい設計になっているか
継続的な改善
// クリーンコードは一度で完璧にはならない
// 継続的なリファクタリングが重要
// ボーイスカウトの原則
// 「来た時よりも美しく」
// コードに触れたら、少しだけ改善して去る
const boyScoutRule = {
principle: "来た時よりも美しく",
action: "コードに触れたら、少しだけ改善して去る",
benefit: "コードベースは徐々にクリーンになっていく"
};
最後に
クリーンコードの目的は、読みやすく、保守しやすく、変更に強いコードを書くことです。
覚えておくべきこと
- コードは書く時間より読む時間の方が長い → 読みやすさを最優先に
- 将来の自分もコードの読者である → 6 ヶ月後の自分が理解できるコードを書く
- 完璧を目指すより、継続的に改善する → 小さなリファクタリングを積み重ねる
- TypeScript の型システムを味方につける → 型でバグを防ぎ、ドキュメント代わりにする
- 原則は指針であり、絶対のルールではない → 状況に応じて判断し、チームと合意を取る
💡 クリーンコードは技術であり、習慣であり、マインドセットです。日々の実践を通じて、少しずつ身につけていきましょう。
このドキュメントは「クリーンコード入門」をTypeScript向けに再構成したものです。