クリーンコードガイド
このガイドについて
このガイドは、TypeScriptでクリーンで保守性の高いコードを書くための実践的な知識を提供します。単なるルール集ではなく、なぜそのルールが重要なのか、どのように適用するのかを段階的に理解できる構成になっています。
クリーンコードとは
クリーンコードとは、以下の特徴を持つコードです:
- 読みやすい(意図が明確)
- 理解しやすい(複雑さが最小限)
- 変更しやすい(保守性が高い)
- テストしやすい(疎結合で高凝集)
- バグが少ない(予測可能な動作)
TypeScriptでクリーンコードを書く意義
TypeScriptは静的型付けを持つJavaScriptのスーパーセットです。型システムによってバグを減らせますが、良いコード設計なしには、その効果を十分に発揮できません。
規範を文書化するという視点
本ガイドは「TypeScript でクリーンに書く」ための具体的な規範集ですが、規範を文書化して運用に組み込む という考え方そのものに興味があれば、Blog の ハーネスエンジニアリング入門 もあわせてどうぞ。AI エージェント時代に rules / hooks / lint を harness として束ねる視点を整理しています。
学習ガイドの棲み分け
本サイトの体系学習ガイドの棲み分けです。本ガイドは 設計規範のベストプラクティス に focus しており、既にコードを書ける人がコード品質を上げるためのリファレンスです。
| 連載 | Focus | 段階 | 前提 | 例 |
|---|---|---|---|---|
| JavaScript ガイド | 言語仕様 (JS) | 入門 | なし | 「アロー関数と this の挙動」 |
| TypeScript ガイド | 言語仕様 | 入門〜中級 | JS 基礎 | 「Mapped Types の使い方」 |
| React ガイド | フレームワーク | 入門〜中級 | HTML/CSS + JS 基礎 | 「useEffect の依存配列」 |
| Tailwind CSS ガイド | CSS スタイリング | 入門〜中級 | HTML/CSS 基礎 | 「@theme で色を追加」 |
| クリーンコードガイド (本ガイド) | 設計規範 | 中級以上 | TS 基礎 | 「any を unknown + 型ガードに」 |
| TypeScript デザインパターン | 設計カタログ | 中級以上 | TS + OOP 基礎 | 「Strategy は関数で足りるか」 |
各ガイドは 補完関係 にあります。言語の土台を JavaScript ガイドで固め、言語仕様を TypeScript ガイドで身につけます。その上で UI を React ガイドで組み立て、スタイリングを Tailwind CSS ガイドで磨きます。コード品質をクリーンコードガイドで底上げし、設計の選択肢を TypeScript デザインパターンで広げる、という流れが想定動線です。
5 原則をさらに掘り下げる
本ガイドの SOLID 原則 で定義を押さえたあと、なぜ守るのか・いつ破っていいのか・どう誤用されるかまで踏み込みたい場合は、SOLID 原則の深掘り があります。各原則の原典にあたり、現在どう再評価されているかまでを全 7 章で扱う中級以上向けの連載です。