Sorftware의 외부 동작은 보존하면서
내부 구조 (~내부의 코드 구현)을 개선하는 프로세스를
refactoring이라고 정의함. (Martin Fowler)
0. 주요 목적
- code의 readability 향상.
- 유지 보수성 개선.
- 확장성 증가.
- 성능 최적화 (optional)
refactoring 은 코드의 품질을 지속적으로 개선하는 중요한 실천 방법임.
"작동하는 코드"를 넘어 "잘 작동하는 깨끗한 코드"를 만드는 과정이라고 할 수 있음.
1. 주요 예
- method extraction : 긴 메소드를 여러 작은 메소드로 분리.
- remove duplicate code : 반복되는 code를 function으로 변경.
- variable (or function, method) renaming: 더 명확하고 의미있는 이름으로 변경
- class splitting(클래스 분할) :
- 지나치게 많은 기능의 class를 여러 class로 분리.
- 가급적 single responsibility principle을 지킬 것 (SOLID 원칙에서 S에 해당).
참고: "Factoring"과 "Refactoring"의 차이:
- "Factoring"은 일반적으로 무언가를 더 작은 부분으로 나누는 과정을 의미.
- Linear Algebra 등에서는 matrix를 여러 matrix의 곱으로 분해하는 것을 가리킴.
- "Refactoring"은 소프트웨어 개발 분야로 한정시 코드의 내부 구조를 개선하는 특정한 과정을 가리킴.
2. vscode의 refactoring 기능
다음은 vscode에서 refactoring에서 사용하기 쉬운 기능들 중 일부를 소개한다.
2-1. method extraction
앞서 설명한 내용 중에서 method extraction과 remove duplicate code 를 위해 사용가능한 기능임.
함수로 묶을 코드를 선택하고 우클릭하여 Refactor...를 고르고 Extract method를 선택하면 됨.

2-2. f2
를 이용한 변수 또는 함수의 이름 일괄 변경.
바꾸고자 하는 변수명 또는 function (or method)명에 cursor를 가져다놓고
f2
(macOS에서 fn
+ f2
) 를 누르고 변경하면
관련된 변수명이 일괄로 바뀜.

같이보면 좋은 자료
2025.01.17 - [utils] - [summary] vscode
[summary] vscode
vscode 소개 (visual studio 와 비교)https://ds31x.blogspot.com/2023/07/env-visual-studio-code-and-visual-studio.html?view=classic [Env] Visual Studio Code and Visual StudioVisual Studio Code (vscode)는 Visual Studio와 달리, code editor임을 강
ds31x.tistory.com
'utils' 카테고리의 다른 글
[ipython] Shortcut (단축키) - readline editors (0) | 2025.04.09 |
---|---|
[Tool] Builder System (or Packaging System) (0) | 2025.04.06 |
[vim] 마우스 설정 (1) | 2025.01.20 |
[vim] vim-plug 이용: nvim-treesitter, gruvbox (0) | 2025.01.20 |
[vscode] gcc 사용한 C/C++ 프로젝트 환경 구축. (1) | 2025.01.19 |