설계·방법론

빨리 실패하는 시스템을 만들어라

codeManager 2022. 7. 19. 18:48
반응형

 

빨리 실패하기는 시스템은 문제가 일어났을 때 즉시 눈에 띄게 실패한다.

'즉시 눈에 띄게 실패'하게 하면 소프트웨어가 더 취약해질 것 같지만, 실제로는 더 견고해진다.

버그를 찾고 수정하기 더 쉬워지므로 프로덕션으로 가는 버그가 줄어든다.

 

 

빨리 실패하기의 예

  • 시작할 때 설정 오류를 발견하면 바로 종료하기
  • 소프트웨어 입력 확인하기 (오랜 시간이 지난 후에 사용되지 않을 예정이라면 더욱 중요함)
  • 다룰 줄 모르는 외부 서비스에서 발생한 오류를 무시하지 말고 표시하기
  • 컬렉션 같은 자료 구조의 특정 변경사항이 반복자 같은 종속적인 자료구조를 사용할 수 없는 상태로 만들면 최대한 빨리 예외 발생시키기
  • 주요 데이터 구조가 손상됐을 때 시스템 내부로 손상을 더 전파하지 말고 예외 발생시키기
  • 복잡한 논리 흐름 전후에 주요 불변 값이 유지된다고 단언하고 자세한 오류 메시지 첨부하기
  • 유효하지 않거나 일관성이 없는 프로그램 상태에 대해 개발자에게 최대한 빨리 경고하기

 

출처: 이펙티브 엔지니어

이펙티브 엔지니어, 길벗

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

 

이펙티브 엔지니어 다른 글

좋은 추상화를 만드는 요소는?

 

좋은 추상화를 만드는 요소는?

좋은 추상화는 다음과 같은 속성이 있다. - 배우기 쉽다 - 문서가 없어도 사용하기 쉽다. - 잘못 사용하기 어렵다. - 요구 조건을 충족시킬 정도로 충분히 강력하다. - 확장하기 쉽다. - 대상 사용

codemanager.tistory.com

 

반응형