리팩토링에 대해서!

Jobmania·2023년 4월 6일
0

디자인 패턴

목록 보기
2/2
post-thumbnail

⚒리팩토링의 정의⚒

  • 기능은 똑같은데, 내부구조개선(코드를 보기 쉽게!)
  • 프로그램의 동작이 변하지 않음을 증명하기 위해 유닛테스트가 중요함!!

    테스트 -> 리팩토링 -> 테스트 ....

🎇즉! 디버깅과 기능추가는 리팩토링이 전혀 아니다!

리팩토링이 필요한 코드 : 코드에서 나는 악.취(smell)

  • 너무 긴 메서드 : 메서드가 너무 길다.
  • 방대한 클래스 : 클래스의 필드와 메서드가 너무 많다.
  • 변경 발산(산탄총) : 기능의 변경시 많은 곳을 수정해야 한다.
  • 속성, 조작 끼어들기 : 언제나 다른 클래스의 내용을 수정하게끔 할수 밖에 없는 클래스
  • if, switch 문 : 반복적인 if, switch 문
  • 과다한 매개변수 : 매서드가 받는 매개변수가 너무 많다.
  • 기본 타입에 집착 : 객체화 하지 않고, 기본 타입만 사용
  • 게으른 클래스 : 하는 일이 없는 클래스
  • 의심스러운 일반화 : 언젠가~~ 상속하겠지 하면서 만든 상위 클래스
  • 매세지 연쇄 : 메서드 호출시 연쇄가 너무 길다.
  • 너무 많은 주석 : 프로그램의 부족함을 주석으로 설명 ㅋ.

리팩토링을 하는 이유

  • 코드를 알기쉽게, 디버깅 쉽게, 유지보수 및 확장이 쉽게
    -> 리팩토링 할때 디자인 패턴을 적용하는 경우가 있음!!

    설계 시 확장성 있는 설계의 중요성

profile
HelloWorld에서 RealWorld로

0개의 댓글