github hyhmrright/brooks-lint v0.9.0
v0.9.0 — Complete 12-Book Coverage & Diagnostic Deepening

latest releases: v1.3.0, v1.2.3, v1.2.2...
one month ago

A focused content release that completes the 12-book diagnostic framework: every book now has all its core principles encoded as observable symptoms with source citations.


🌍 English

Highlights

  • 🔍 Flag Arguments & Primitive Obsession (Fowler) — Two of Fowler's highest-frequency refactoring triggers now encoded in R1 (Cognitive Overload). A boolean parameter that splits a function in two, or a String email where a value type should live, are now named and sourced findings.
  • 🔗 Information Leakage (Ousterhout) — Added to R2 (Change Propagation): when a design decision is encoded in multiple modules independently, changing it requires coordinated edits even without explicit imports. One of the central concepts in A Philosophy of Software Design — previously missing entirely.
  • 🏛️ ISP & LSP (Martin) — Interface Segregation and Liskov Substitution added to R5 and R6. SOLID is now complete: the framework previously had DIP, ADP, SDP, SAP but was missing two of the five principles.
  • 🧩 Value Object vs Entity (Evans) — Added to R6 (Domain Model Distortion): a domain concept defined by its attributes (Money, Email, Address) given a mutable ID and lifecycle is now a named, sourced finding. Aggregate Root boundaries also encoded.
  • 🎲 Erratic Test / Flaky Test (Meszaros) — Added to T2 (Test Brittleness): tests that produce non-deterministic results due to shared state, time dependence, or ordering assumptions. One of the most common real-world test problems — previously absent from the test risk framework.
  • 📚 source-coverage.md deepened for all 12 books — "Encoded today" sections updated for McConnell (defensive programming), Martin (ISP/LSP/SRP/OCP), Ousterhout (Information Leakage), Winters (sustainability/backward compatibility), Meszaros (Erratic Test), Fowler (Flag Arguments/Primitive Obsession), Evans (Entity/VO/Aggregate).
  • ✍️ Prose tightened — All 12 risk description paragraphs condensed ~15% with no loss of diagnostic content.

No breaking changes. Existing .brooks-lint.yaml configs, skill invocations, and short-form commands are untouched.

Install / Upgrade

/plugin marketplace add hyhmrright/brooks-lint
/plugin install brooks-lint@brooks-lint-marketplace

🇨🇳 简体中文

一个内容深化版本,将 12 本书的诊断框架补全:每本书的核心原则现在都已编码为可观察的症状,并带有来源引用。

亮点

  • 🔍 标志参数 & 基本类型偏执(Fowler)——Fowler 最高频的两个重构触发点现已编码到 R1(认知过载)。布尔参数把函数一分为二、用 String email 代替值类型,现在都是有名有据的发现项。
  • 🔗 信息泄漏(Ousterhout)——加入 R2(变更传播):设计决策被多个模块各自编码,改动时需要协调多处修改,即使它们之间没有显式 import。这是《软件设计哲学》的核心概念,此前完全缺失。
  • 🏛️ ISP & LSP(Martin)——接口隔离原则和里氏替换原则分别加入 R5 和 R6。SOLID 现已完整:此前框架有 DIP/ADP/SDP/SAP,缺少五个原则中的两个。
  • 🧩 值对象 vs 实体(Evans)——加入 R6(领域模型失真):把由属性定义的领域概念(Money、Email、Address)赋予可变 ID 和生命周期,现在是有名有据的发现项。Aggregate Root 边界也已编码。
  • 🎲 不稳定测试 / Flaky Test(Meszaros)——加入 T2(测试脆弱性):因共享状态、时间依赖或排序假设导致非确定性结果的测试。这是实际测试中最常见的问题之一,此前在测试风险框架中完全缺席。
  • 📚 source-coverage.md 全面深化——12 本书的"已编码"条目全部更新:McConnell(防御性编程)、Martin(ISP/LSP/SRP/OCP)、Ousterhout(信息泄漏)、Winters(可持续性/向后兼容)、Meszaros(不稳定测试)、Fowler(标志参数/基本类型偏执)、Evans(Entity/VO/聚合根)。
  • ✍️ 精简描述文字——所有 12 个风险的描述段落缩减约 15%,诊断内容无损。

无破坏性变更:现有 .brooks-lint.yaml 配置、skill 调用方式和短命令均不受影响。

安装 / 升级

/plugin marketplace add hyhmrright/brooks-lint
/plugin install brooks-lint@brooks-lint-marketplace

Full changelog / 完整变更日志: CHANGELOG.md

Don't miss a new brooks-lint release

NewReleases is sending notifications on new releases.