DEV ℧ Developer Diary

[Refactoring] 냄새 17. 메시지 체인

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

냄새 17. 메시지 체인

  • 레퍼런스를 따라 계속해서 메소드 호출이 이어지는 코드
    • 예) this.member.getCredit().getLevel().getDescription()
  • 해당 코드의 클라이언트가 코드 체인을 모두 이해해야 한다.
  • 체인 중 일부가 변경된가면 클라이언트의 코드도 변경해야 한다.
  • ...

[Refactoring] 냄새 16. 임시 필드

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

냄새 16. 임시 필드

  • 클래스에 있는 어떤 필드가 특정한 경우에만 값을 갖는 경우
  • 어떤 객체의 필드가 “특정한 경우에만” 값을 가진다는 것을 이해하는 것은 일반적으로 예상하지 못하기 때문에 이해하기 어렵다.
  • 관련 리팩토링
      ...

[Refactoring] 냄새 15. 추측성 일반화

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

냄새 15. 추측성 일반화

  • 나중에 이러 저러한 기능이 생길 것으로 예상하여, 여러 경우에 필요로 할만한 기능을 만들어 놨지만 “그런 일은 없었고..” 결국에 쓰이지 않는 코드가 발생한 경우
  • XP의 YAGNI(You aren’t gonna need...

[Refactoring] 냄새 14. 성의없는 요소

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

냄새 14. 성의없는 요소

  • 여러 프로그래밍적인 요소(변수, 메소드, 클래스 등)를 만드는 이유
    • 나중에 발생할 변화를 대비해서
    • 해당 함수 또는 클래스를 재사용하려고
    • 의미있는 이름을 지어주려고
  • 가끔 그렇게 예상하고 만들어 놓은...

[Refactoring] 냄새 13. 반복문

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

냄새 13. 반복문

  • 프로그래밍 언어 초기부터 있었던 반복문은 처음엔 별다른 대안이 없어서 간과했지만 최근 Java와 같은 언어에서 함수형 프로그래밍을 지원하면서 반복문에 비해 더 나은 대안책이 생겼다.
  • “반복문을 파이프라인으로 바꾸는 (Replace Loop with...