RFC 0002: cohesion and coupling beside Mutation-CRAP (0.16.5) #34

Merged
mi merged 2 commits from mihoe/rfc-cohesion-coupling into main 2026-10-04 10:27:39 +02:00
Owner

Related Links

The Problem

werkcrappit shows how complex and how well tested a method is, but not how well a class holds together or how strongly classes depend on each other.
Adding both is larger than one pull request.

The Solution

  • RFC 0002 proposes LCOM4 for cohesion and Ca/Ce for coupling per top-level class, beside Mutation-CRAP, never mixed into it, with optional limits maxLcom4 and maxEfferentCoupling.
    The decisions taken on 2026-10-04 are in its section 2, the three implementation steps in section 7, and the two questions settled after the first draft in section 8.
  • Version 0.16.5; no change to the plugins.

🤖 Generated with Claude Code

## Related Links - [RFC 0002](../rfcs/0002-cohesion-and-coupling.md) ## The Problem werkcrappit shows how complex and how well tested a method is, but not how well a class holds together or how strongly classes depend on each other. Adding both is larger than one pull request. ## The Solution - RFC 0002 proposes LCOM4 for cohesion and Ca/Ce for coupling per top-level class, beside Mutation-CRAP, never mixed into it, with optional limits `maxLcom4` and `maxEfferentCoupling`. The decisions taken on 2026-10-04 are in its section 2, the three implementation steps in section 7, and the two questions settled after the first draft in section 8. - Version 0.16.5; no change to the plugins. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
mi added 1 commit 2026-10-04 09:08:26 +02:00
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mi added 1 commit 2026-10-04 10:18:44 +02:00
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mi merged commit 60d7b42300 into main 2026-10-04 10:27:39 +02:00
mi deleted branch mihoe/rfc-cohesion-coupling 2026-10-04 10:27:39 +02:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mi/werkcrappit#34