DEV ℧ Developer Diary

[Refactoring] 냄새 7. 뒤엉킨 변경

해당 포스트는 inflearn의 백기선님의 강의인 리팩토링 을 듣고 정리한 글입니다.

냄새 7. 뒤엉킨 변경

  • 소프트웨어는 변경에 유연하게(soft) 대처할 수 있어야 한다. 응집도를 높히고 결합도를 낮춰야 한다.
  • 어떤 한 모듈이 (함수 또는 클래스가) 여러가지 이유로 다양하게 변경되어야 하는 상황.
    • 예) 새로운 결제...

[Refactoring] 냄새 6. 가변 데이터 (2)

해당 포스트는 inflearn의 백기선님의 강의인 리팩토링 을 듣고 정리한 글입니다.

냄새 6. 가변 데이터 (2)

리팩토링 21. 파생 변수를 질의 함수로 바꾸기

  • 변경할 수 있는 데이터를 최대한 줄이도록 노력해야 한다.
  • 계산해서 알아낼 수 있는 변수는 제거할 수 있다.
    • 계산 자체가...

[Refactoring] 냄새 6. 가변 데이터 (1)

해당 포스트는 inflearn의 백기선님의 강의인 리팩토링 을 듣고 정리한 글입니다.

냄새 6. 가변 데이터 (1)

  • 데이터를 변경하다보면 예상치 못했던 경과나 해결하기 어려운 버그가 발생하기도 한다. 코드를 변경하다 보면 의도치 않게 다른 코드에 영향이 가는 “사이드 이펙트”를 주의 해야 한다.
  • 함수형 프로그래밍 언어는...

[Refactoring] 냄새 5. 전역 데이터

해당 포스트는 inflearn의 백기선님의 강의인 리팩토링 을 듣고 정리한 글입니다.

냄새 5. 전역 데이터

  • 전역 데이터 (예, 자바의 public static 변수)
  • 전역 데이터는 아무곳에서나 변경될 수 있다는 문제가 있다.
  • 어떤 코드로 인해 값이 바뀐 것인지 파악하기 어렵다.
  • 클래스 변수 (필드)도 비슷한 문제를...

[Refactoring] 냄새 4. 긴 매개변수 목록

해당 포스트는 inflearn의 백기선님의 강의인 리팩토링 을 듣고 정리한 글입니다.

냄새 4. 긴 매개변수 목록

  • 어떤 함수에 매개변수가 많을수록 함수의 역할을 이해하기 어려워진다.
    • 과연 그 함수는 한가지 일을 하고 있는게 맞는가?
    • 불필요한 매개변수는 없는가?
    • 하나의 레코드로 뭉칠 수 있는 매개변수 목록은...