리팩토링

Jeong seulho·2023년 5월 9일
0

소프트웨어 공학

목록 보기
23/25

📌리팩토링이란

  • 어떤 코드의 동작이 바뀌지 않도록 다시 작성하는 것
  • 다시 작성하면서 중복코드를 삭제하거나, 복잡한 로직을 단순화 하는 등의 개선을 거침

📖리팩토링 목록

collapse hierarchy

  • 두개의 클래스 혹은 모듈의 의존성이 굉장히 높으면 하나로 merge한다

consolidate conditional express

  • 같은 결과를 return하는 조건들을 합친다

decompose conditionals

  • 복잡한 계산식이나 조건식을 함수로 분리한다

extract class, method

  • 클래스나 함수가 여러가지 일을 하면 분리한다

📖리팩토링 리스크

  • 문서의 유지보수 필요
  • 테스트 케이스의 유지보수 필요

📖when not to refactor

  • 코드가 오류가 있을 때,
  • deadline이 가까울 때,

📌코드 스멜

  • 코드 스멜이 있을 때, 리팩토링을 고려해야 한다

📌그 밖의 코드품질 개선 방법

  • 정적 분석 : 코드만 보며 개선(코드 리뷰 등)
  • 동적 분석 : 실제 실행하며 개선(test, debug)

0개의 댓글