Defensive programming

Design by contract