자기계발

[책: 내 코드가 그렇게 이상한가요?] 4장. 불변 활용하기: 안정적으로 동작하게 만들기

오연 : Oana 2023. 10. 28. 19:04

4장. 불변 활용하기: 안정적으로 동작하게 만들기

  • 재할당
    • 파괴적 할당이라고도 부른다. 변수의 의미를 바꿔 추측하기 어렵게 만드는 행위.
    • 언제 어떻게 변경되었는지도 추적이 어렵다.
    • 불변 변수로 만들어서 재할당 막기 (const)
  • 가변으로 인해 발생하는 의도하지 않은 영향
    • 부수효과의 단점
      • 함수에는 주요작용과 부수효과가 있다. 주요작용은 함수가 매개변수를 전달받고 값을 리턴하는 것이고 부수효과는 주요 작용 이외의 상태 변경을 일으키는 것이다. 사이드 이펙트 방지하는 순수함수 작성을 항상 고려할 것!
  • 변수를 불변으로 만들었을 때의 장점
    • 변수의 의미가 변하지 않기 때문에 혼란을 줄일 수 있음
    • 동작이 안정적이게 되므로 결과를 예측하기 쉬움
    • 코드의 영향 범위가 한정적이므로 유지 보수가 편리해짐
    • 기본적으로는 불변으로 설계하는 것이 좋다.
  • 가변으로 설계했을 때의 장점
    • 성능이 중요한 경우에 유용
    • 대량의 데이터를 빠르게 처리해야 하는 경우, 이미지를 처리하는 경우, 리소스에 제약이 큰 임베디드 소프트웨어를 다루는 경우