Notice
Recent Posts
Recent Comments
Link
관리 메뉴

김종권의 iOS 앱 개발 알아가기

[Refactoring] 3-1. 코드에서 나는 악취 본문

Refactoring (리펙토링)

[Refactoring] 3-1. 코드에서 나는 악취

jake-kim 2022. 1. 23. 01:11

코드에서 나는 악취

  • 리팩터링을 언제 하는게 좋은지?
    • 켄트 벡에 의하면 리팩터링할 시점은 '냄새'란 표현을 사용
    • 오히려 인스턴스 변수가 몇 개가 적당한지, 메섣가 몇 줄을 안넘어가면 좋은지보다는, 사람의 직관이 더욱 정확하다는 의미
    • `냄새`에 대한 감각을 키우려면, 앞으로 나오는 리팩터링 내용들을 숙지하고 직접 코드로 표현해보며 사용

기이한 이름

  • 코드를 명료하게 표현하는 데 가장 중요한 요소는 `이름`이므로 함수, 모듈, 변수, 클래스등은 그 이름만 보고도 각각이 무슨 일을 하고 어떻게 사용하는지 명확히 알 수 있도록 엄청나게 신경써서 이름을 지어야 함
  • 이름만 잘 지어도 나중에 문맥을 파악하느라 헤메는 시간을 크게 절약 가능
  • ex) 함수 이름 바꾸기, 변수 이름 바꾸기

긴 함수

  • 경험에 비춰보면 오랜 기간 잘 활용되는 프로그램들은 하나같이 짧은 함수로 표현
    • 짧은 함수들로 구성된 코드베이스를 얼핏 훑으면 연산하는 부분이 하나도 없어 보이는 형태
    • 코드가 끝없이 위임하는 방식으로 작성
  • 코드를 읽는 사람 입장에서는 함수가 하는 일을 파악하기 위해 왔다 갔다 하므로 부담이 되지만, 이를 보완해주는 방법은 함수의 이름만 보더라도 어떤 일을 하는지 알수 있도록 이름을 잘 짓는것
  • 함수의 이름만 보더라도 어떤일을 하는지 알아낼 수 있어야 하므로, 함수 추출하기를 통해 잘게 쪼개는 리팩터링이 필요
    • 리팩터링 방법 - 주석을 달아야 할 만한 부분이나 주석이 있는 곳에 무조건 함수로 만들어서 함수를 추출할 것

* 다음 글 - [Refactoring] 3-2. 코드에서 나는 악취

 

* 참고

- Refactoring (Marting Flowler)

Comments