이 영역을 누르면 첫 페이지로 이동
컴01기 블로그의 첫 페이지로 이동

컴01기

페이지 맨 위로 올라가기

컴01기

힝입니다.

리팩토링 - 메서드명 변경

  • 2020.11.08 13:49
  • 📝CS 공부/리팩토링

Rename Method

 

설명

  • 메서드명만 보고 해당 메서드의 의도를 알 수 있어야 한다.
  • 해당 메서드의 기능을 설명하는 주석을 생각한 후, 그 주석을 메서드명으로 변경하는 방식을 추천한다.
  • 메서드 이름이 적절하지 않다면 반드시 변경한다.
  • 만약, 매개변수를 재정렬해서 코드를 알아보기 쉬워진다면 매개변수 재정렬을 실시한다.
    • cf. 매개변수 추가, 매개변수 제거

방법

  • 메서드 시그니처가 상위클래스나 하위클래스에 구현되어 있는지 검사한다.
  • 만약 구현되지 않았다면 구현된 부분들을 대상으로 다음의 단계들을 실시한다.

예제)

public String getTelephoneNumber(){
	return (" (" + _officeAreaCode + ")" + _officeNumber);
}

1. 새로운 이름으로 메서드를 선언하고, 원래 메서드의 내용을 새 메서드로 복사, 적절히 수정한다.

2. 원본 메서드 참조 부분을 찾아서, 새 메서드를 참조하게 수정한다. (수정할 때마다 테스트를 실시한다.)

public String getTelephoneNumber(){
	return getOfficeTelephoneNumber();
}

public String getOfficeTelephoneNumber(){
	return ("(" +_officeAreaCode + ")" + _officeNumber);
}

 

3. 원본 메서드를 삭제한다. (이때 원본 메서드가 인터페이스에 들어가 있어서 삭제할 수 없다면, 그 메서드를 그대로 두고 deprecated로 표시하자.

public String getOfficeTelephoneNumber(){
	return ("(" +_officeAreaCode + ")" + _officeNumber);
}

4. 컴파일과 테스트를 실시한다.

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

다른 글 더 둘러보기

정보

컴01기 블로그의 첫 페이지로 이동

컴01기

  • 컴01기의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그
  • 방명록

카테고리

  • 분류 전체보기 (87)
    • 📰논문 리뷰 (16)
    • 🍒회고록 (4)
    • 🖤네이버 ai tech (0)
    • ✨글쓰는힝 (1)
    • 🔥취준일기 (2)
    • 🎲유니티 (2)
    • 🔨삽질 (10)
    • 📚 서적 리뷰 (4)
    • 🐹알고리즘 (4)
    • 😎정리하는 카테고리 (4)
    • 📝CS 공부 (6)
      • 운영체제 (1)
      • 네트워크 (4)
      • 리팩토링 (1)
    • etc (22)
      • 혼공단 (7)
      • Spring (7)
      • JS (1)
      • OpenCV (2)
      • Unity (5)

최근 글

인기 글

댓글

태그

  • 혼공학습단
  • 백준
  • 혼공단
  • unity
  • 혼공SQL
  • 회고록
  • github
  • 혼공머신

나의 외부 링크

  • Github
  • Youtube

정보

힝님의 컴01기

컴01기

힝님

방문자

  • 전체 방문자
  • 오늘
  • 어제

블로그 구독하기

  • 구독하기
  • RSS 피드

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © 힝님. Designed by Fraccino.

티스토리툴바