Skip to content
Sharp

Domain Modeling · interview question

A bug appears around invariants in __post_init__. What is the strongest first debugging move?

Multiple choiceMediumchapter-7-curatedpremiumdomain-modelinginvariants-in-post-init
python
from dataclasses import dataclass

@dataclass
class OrderLine:
    sku: str
    quantity: int

    def __post_init__(self) -> None:
        if self.quantity <= 0:
            raise ValueError("quantity must be positive")
Choose one answer
Answer and explanation

Correct answer

C. Trace one concrete example, inspect the state transitions, and compare them to the intended rule before rewriting anything.

Why

That approach is reliable because it creates evidence. Letting invalid objects exist and hoping later code cleans them up makes bugs harder to localize.

Test yourself on Domain Modeling

A free test with instant, explained results. No account needed.

Start free test
All Domain Modeling questions →