Skip to main content

Who's Responsible?

Design by Contract doesn't just catch bugs — it tells you who is responsible when something breaks.

Contracts make it clear:

  • Preconditions must be satisfied by the caller
  • Postconditions and invariants must be upheld by the callee

If a contract fails, the blame isn't vague — it's built into the system.


Visual Flow


Design by Contract doesn't just help catch errors — it helps explain them. It tells you not just what broke, but who needs to fix it.