13 · DEBUG & FIX

Don’t just spot the flaw — fix it.

Where Debug Lab asks you to annotate, Debug & Fix asks you to restructure. Apply the pattern, extract the class, validate against the expected clean design.

SCENARIO #04: UserManager.javaGOD CLASS · SRP VIOLATION
Before
UserManager

+ createUser()

+ updateProfile()

+ sendEmail()

+ validatePassword()

+ hashPassword()

+ sendSMS()

+ generateReport()

+ cacheUser()

+ queryDB()

GOD CLASS · 9 responsibilities
Too many responsibilities
Untestable in isolation
SRP violation
Restructure
After
UserService

+ createUser()

+ updateProfile()

AuthService

+ validatePassword()

+ hashPassword()

EmailService

+ sendEmail()

+ sendSMS()

ReportService

+ generateReport()

SRP followed
Testable in isolation
Single responsibility each

How it works

From diagnosis to clean design.

01

Detect

Identify violations in the broken diagram

02

Plan

Decide your restructuring approach

03

Fix

Restructure classes on the canvas

04

Validate

Compare to the expected clean design

Validation

Your fix, scored.

The validator compares your restructured design against the expected clean design structurally — a structural diff, not pixel-perfect comparison.

Your restructured design

Expected clean design

UserService extracted

UserService extracted

AuthService extracted

AuthService extracted

PasswordHasher not extracted

PasswordHasher separate class

EmailService separated

EmailService separated

83% structural match1 missed extraction
explanation provided →

Features

Built for active remediation.

Fix mode, not annotate mode

You restructure the design on the canvas rather than just marking what is wrong. This is hands-on practice, not passive critique.

Real authored scenarios

Each scenario is based on real system archetypes — notification pipelines, auth modules, booking engines — deliberately designed with specific violations.

Validation against the clean design

Your fix is compared structurally against the expected clean design. You see exactly what you got right and what you missed.

Explanation per diff

Every structural difference is explained — why it matters, what the correct reasoning is, and what the clean alternative looks like.

Multiple valid fixes accepted

Where more than one correct restructuring exists, the validator accepts all known-good approaches and explains the trade-offs between them.

Pattern application focus

Scenarios are designed around applying specific patterns — SRP extraction, Facade, Repository — so practice builds real pattern vocabulary.

Who it’s for

Built for engineers who want to fix, not just find.

The hands-on learner

Engineers who understand design principles in theory but need deliberate practice actually applying them to broken designs.

The refactoring candidate

Interview candidates preparing for rounds where they are handed an existing design and asked to improve it on the spot.

The Debug Lab graduate

Anyone who has practised spotting violations in Debug Lab and is now ready to practise fixing them — the natural next step.

The pattern applier

Engineers who know design pattern names but struggle to recognise when and how to apply them to resolve a real structural problem.

FAQ

Questions people ask