本・業界の原典から

書籍を読んで要約したものと、web の一次情報源を取得して書いたもの。 どのページにも frontmatter に book: か、原典の URL と取得日 (fetched:) が残っている。 書籍由来の主張には (書籍11章) のように章まで注記してある。本文の引用はしていない。

プロジェクトの時系列に並べてある。 上から順に、始まる前・要件・設計・実装・ リリース後の変更・運用・廃止。同じ話題が複数の段階に出ることがある (アクセシビリティは要件で目標を決め、実装で確かめる)。

1. 始まる前

何を大事にするか、どういうチームでやるか。コードを1行も書く前に効く。

2. 要件を決める

何を作るかと、どこまで満たせば良しとするかを決める。上限や目標はここで決める。 実装してから決めると、守れなかったときに直す判断ができない。

3. 設計する

どこで切るか、どう壊れるかを決める。あとから変えるのが最も高くつく層。

4. 実装する

書く・見る・確かめる。この段階が最も本数が多い。

  • スタイルガイドとルール — ルールを定めるときの基準。書籍 第8章
  • バージョン管理 — 単一バージョン原則、モノリポ、トランクベース開発。書籍 第16章
  • 継続的インテグレーション — CI は道具の名前ではない。10分ビルド、段階の分け方、壊れたら戻す
  • 静的解析 — 書籍 第20章。機械が指摘できるものを人間に見させない
  • 設定と環境 — 何を設定として外に出すか。12-Factor の対応表つき
  • コードレビュー(書籍第9章) — 承認の3種類、恩恵、変更の種類ごとの見どころ
  • テスト — なぜ書くか、いいテストの条件、何を・どこまで・どう書くか。書籍 第11〜14章
  • ドキュメント — 存在意義、コードとして扱う、対象読者、5W1H、類型。書籍 第10章
  • 守る側の設計 — 認証と認可、入力検証、暗号、秘密情報、サプライチェーンなど10本
  • 実装時の検証 — キーボード操作、拡大、リニアライズ。満たしているかをどう確かめるか
  • 国際化 — 文字コード、言語の宣言、文字方向、名前と住所の前提
  • Effect を置かない判断 — React 公式。useEffect でのデータ取得は推奨から外れた

5. リリース後に足す・直す

**動いているものを変える段階。**壊さずに出す方法と、出したものを測る方法。

6. 運用する

**動き続けている間の話。**壊れたことに気づき、直し、次に備える。

7. 廃止する

**終わらせ方。**始める前から決めておくもの。

主な原典

『Google のソフトウェアエンジニアリング』全17章 / 『Web API: The Good Parts』/ 『Site Reliability Engineering』/ 『The Site Reliability Workbook』/ OWASP (Top 10, Secure Headers, ASVS) / W3C WAI (WCAG 2.2) / web.dev (Core Web Vitals) / RFC・IETF ドラフト / Martin Fowler / Brendan Gregg / The Twelve-Factor App / DORA

同じ話題の自分のノートは 自分のノート にある。

ここにある規範のうち、実装を AI に書かせると自然には守られなくなるものAI駆動開発のためににまとめてある。 とくにテスト(本物 > フェイク > スタブの順序が反転する)、 レビュー(変更の粒度が最初に壊れる)、 バージョン管理(戻せることが唯一のブレーキになる)。

12件のページ