Code/Refactoring

Refactoring 이해하기 힘든 이름

bongveloper 2024. 1. 14. 23:54

이해하기 힘든 이름(MysteriousName)

깔끔한 코드를 구현하기 위해서 가장 중요한 것 중 하나가 좋은 이름을 사용하는 것이다.
기능을 구현하다 보면 좋은 이름을 사용하지 못하는 경우가 많다.

우리가 사용하는 변수,클래스,메서드 등등 모든 이름에서 어떤 역활을 하는지 어떻게 쓰이는지
직관적으로 작명을 하는 것이 좋은 이름으로 코드를 작성하는 방법이다.

사용할 수 있는 리팩토링 기술

  • 임수 선언 변경하기 (Change Function Declaration)
  • 변수 이름 바꾸기 (Rename Variable)
  • 필드 이름 바꾸기 (Rename Field)

함수 선언 변경하기

함수 이름 변경하기 == 메서드 이름 변경하기라고 볼 수 있다.

  • 좋은 이름을 가진 함수는 어떻게 구현됐는지 보지 않아도 이름으로 알 수 있는 함수이다.
  • 좋은 이름을 가진 함수를 만드는 방법은 먼저 함수의 주석을 작성한 다음, 주석을 함수 이름으로 만들어보는 방법이 좋다.
  • 함수의 매개변수는 함수의 문맥을 결정하고 의존성을 결정한다.

매개변수(파라미터)가 문맥을 결정하는 이유

시계와 관련된 파라미터를 넘긴다면 시계와 관련된 문맥의 일을 한다는 것을 알 수 있다.
여기에 유저가 파라미터에 추가 된다면 유저와 시계가 관련된 일 예를 들면 알람 같은 일들이 이 함수 내에 벌어질 수 있다는 것을 알 수 있다.

매개변수(파라미터)가 의존성을 결정하는 이유

아까 넘긴 시계와 같이 여러 의미를 담은 파라미터를 넘길 때,
만약 몇분인지 묻는 함수를 만든다면 몇 분과 상관없는 시, 초 등과 같은 데이터도 넘겨야 한다.
이렇게 함수와 상관없는 데이터까지 넘긴다면 의존성이 높아지게 된다.
몇 분인지 묻는 함수를 만들 때에는 분과 관련된 데이터만 넘기는 것이 의존성을 낮추는 방법이다.
(물론 시계를 통째로 넘겨야 하는 경우도 있다. 하지만 의존성을 낮추는 것이 좋은 방법이다.)

Intellij에서 이름 변경하는 방법

Intellij에서는 오른쪽 마우스 - 리팩토링 - Rename(단축키 Shift+F6)을 통해
손쉽게 함수의 이름과 영향이 있는 모든 곳의 이름까지도 변경 가능하다.
(사랑해요 인텔리제이)

 

GitHub 주소

 

GitHub - kibongcoders/refactoring_study

Contribute to kibongcoders/refactoring_study development by creating an account on GitHub.

github.com

 

출처 : 코딩으로 학습하는 리팩토링

 

코딩으로 학습하는 리팩토링 강의 - 인프런

리팩토링은 소프트웨어 엔지니어가 갖춰야 할 기본적인 소양 중 하나입니다. 이 강의는 인텔리J와 자바를 사용하여 보다 실용적인 방법으로 다양한 코드의 냄새와 리팩토링 기술을 설명하고 직

www.inflearn.com