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
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")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.
More Domain Modeling questions
- What does a strong engineer do when reasoning through properties and encapsulation code?
- If mini domain model fails in production, what handling philosophy is strongest?
- Which judgment is strongest when choosing a data shape for invariants in __post_init__?
- Which explanation would sound strongest in an interview when discussing instance methods?
- Which option is the safer default when shipping code around invariants in __post_init__?
- A senior interviewer asks for one tradeoff behind instance methods. What is the strongest follow-up?