[자바로 배우는 리팩토링 입문] 0장 리팩토링이란

2022. 4. 13. 15:57·Major/Java
728x90

1. 리팩토링이란 

1) 정의

- 외부에서 보는 프로그램 동작은 바뀌지 않고 프로그램의 내부 구조를 개선하는것 

 

2) 퀴즈

버그 수정은 리팩토링 ? 👉 아니다
기능 추가는 리팩토링 ? 👉 아니다
소스 코드 정리는 리팩토링 ? 👉 반드시 그런 건 아님

 

3) 리팩토링과 유닛 테스트

- 리팩토링 전후 동작이 변하지 않는 걸 확인하려고 테스트 해야함

- 테스트 방법 중 유닛 테스트가 있음 

 

4) 리팩토링의 목적

버그를 발견하기 쉽게 만든다
기능을 추가하기 쉽게 만든다
리뷰하기 쉽게 만든다

 

5) 리팩토링의 한계

- 프로그램이 아직 동작하지 않을 때 리팩토링은 불가능하다

- 시간이 너무 촉박할 때

 

2. 리팩토링과 악취

1) 악취

: 리팩토링이 필요한 부분을 '악취'가 난다고 표현한다.

👉 이해하기, 수정하기, 확장하기 어려운 부분 등

ex) 중복 코드, 너무 긴 메서드, 방대한 클래스, 과다한 매개변수, ... 등

 

3. 리팩토링 카탈로그

- 리팩토링의 목적과 절차를 카탈로그 형식으로 정리한 것

http://www.refactoring.com

 

Refactoring Home Page

Introduction to the technique of refactoring and online catalog of refactorings

refactoring.com

 

4. 리팩토링 에센스

👉 스텝 바이 스탭(한 번에 하나씩)

- 두가지 수정을 한꺼번에 하지 않기

- 되돌리기 쉽게 하기

- 단계마다 확인

- 오래된 걸 새로운 걸로 바꿈

 

728x90
저작자표시 비영리 (새창열림)

'Major > Java' 카테고리의 다른 글

[자바로 배우는 리팩토링 입문] 2장 제어 플래그 삭제  (0) 2022.04.13
[자바로 배우는 리팩토링 입문] 1장 매직 넘버를 기호 상수로 치환  (0) 2022.04.13
[Power Java Compact] 7장 연습문제  (0) 2022.01.05
[Power Java Compact] 6장 연습문제  (0) 2021.12.29
[Power Java Compact] 5장 연습문제  (0) 2021.12.22
'Major/Java' 카테고리의 다른 글
  • [자바로 배우는 리팩토링 입문] 2장 제어 플래그 삭제
  • [자바로 배우는 리팩토링 입문] 1장 매직 넘버를 기호 상수로 치환
  • [Power Java Compact] 7장 연습문제
  • [Power Java Compact] 6장 연습문제
BeNI
BeNI
코딩하는 블로그
  • BeNI
    코딩못하는컴공
    BeNI
  • 전체
    오늘
    어제
    • Menu (254) N
      • My profile (1)
      • 회고 | 후기 (8)
      • Frontend (66) N
        • Article (11)
        • Study (36) N
        • 프로그래머스 FE 데브코스 (19)
      • Backend (0)
      • Algorithm (58)
        • Solution (46)
        • Study (12)
      • Major (111)
        • C&C++ (23)
        • Java (20)
        • Data Structure (14)
        • Computer Network (12)
        • Database (15)
        • Linux (6)
        • Architecture (3)
        • Lisp (15)
        • OS (1)
        • Security (2)
      • etc (2)
  • 링크

    • 깃허브
    • 방명록
  • 인기 글

  • 최근 댓글

  • 최근 글

  • 태그

    Algorithm
    lisp
    프로그래머스
    자료구조
    react
    파일처리
    데브코스
    리팩토링
    C++
    백준
  • hELLO· Designed By정상우.v4.10.2
BeNI
[자바로 배우는 리팩토링 입문] 0장 리팩토링이란
상단으로

티스토리툴바