programmer

이런 핑계는 피하자

자신의 S/W 블럭이 죽은 후 - A 블럭이 엉뚱한 메시지를 잘못 줬어요 - A 블럭이 보낸 메시지에서 이 필드에 이런 값이 있으면 안되요. 약속된 인터페이스대로 동작하지 않은 상대방 블럭의 책임도 있지만 그렇다도 예상하지 않은 값을 받았다고 죽어버리는 블럭을 작성한 개발자도 50%의 책임이 있다. 항상 외부와의 인터페이스에는 message length check, value range check를 수행해서 죽지 않도록 해야 한다.