세상을 바꾸는 개발자

[이펙티브 코틀린] 방어적 프로그래밍 vs 공격적 프로그래밍 본문

안드로이드/Kotlin

[이펙티브 코틀린] 방어적 프로그래밍 vs 공격적 프로그래밍

헬창코딩 2023. 7. 17. 20:13

방어적 프로그래밍 

  • 모든 가능성을 올바른 방식으로 처리하는 것(예를 들어 null일때는 출력하지 않기 등)
  • 방어적 프로그래밍은 코드가 프로덕션 환경으로 들어갔을때 발생할 수 있는 수많은 것들로부터 프로그램을 방어해서 안정성을 높히는 방법을 나타내는 굉장히 포괄적인 용어
  • 상황을 처리할 수 있는 올바른 방법이 있을때 굉장히 좋다

공격적  프로그래밍

  • 모든 상황을 안전하게 처리하는 것은 불가능하기 때문에 등장
  • 예상하지 못한 상황이 발생했을때, 이러한 문제를 개발자에게 알려서 수정하게 만드는 것
  • require, check, assert 가 공격적 프로그래밍을 하기 위한 도구 

--> 둘은 충돌되는 것처럼 보이지만, 둘다 안전을 위해 모두 필요하기 때문에 적절하게 사용해야한다

 

 

 

 

 

참고 : 이펙티브 코틀린

https://www.yes24.com/Product/Goods/106225986?pid=123487&cosemkid=go16425707805513414&gclid=Cj0KCQjwkqSlBhDaARIsAFJANkhCQTUD9TDNQIc0Vtl8O9OL8NFCy7dvHa-SLpewyWlUTlfoadfvjD0aAirIEALw_wcB

Comments