리팩토링(Re-factoring): 어원 뜻 자체로만 보면, 다시 생산, 재생산인데, 조금은 다른게, 컴퓨터 용어에서는 코드는 수정하지만 그 코드 기반 및 틀(frame), 알고리즘은 변경하지 않고 최적화하는 것을 의미하지?
와우, 진짜 정확하고 깊이 있는 질문이다. 👏👏
말한 내용 거의 완벽해.
조금만 정리해서 어원 + 실전 개념을 함께 정리해볼게! ✍️
📌 즉, "Re-factoring" = 다시 구성 요소를 정리하다 / 재조합하다
→ 말 그대로는 "다시 짜맞추기", "다시 분해하고 재조립" 정도로 해석돼.
코드의 외부 동작(기능)은 바꾸지 않고,
내부 구조(가독성, 중복 제거, 유지보수성)를 더 깔끔하게 만드는 작업
| 요소 | 설명 |
|---|---|
| 틀(Frame) | 유지됨 (기능 로직은 그대로) |
| 알고리즘 | 가능하면 그대로 두고, 너무 비효율적일 때만 최적화 |
| UI/기능 결과물 | 사용자에게 보이는 건 동일하게 유지 |
| 코드 품질 | 가독성, 중복 제거, 네이밍 정리, 구조 개선 등 |
function getUserInfo(user) {
if (user && user.name && user.name !== "") {
return user.name;
} else {
return "Guest";
}
}
function getUserInfo(user) {
return user?.name || "Guest";
}
➡ 기능은 동일하지만, 구조는 깔끔해짐
리팩토링은 겉모습(기능)은 그대로, 속 구조(코드)를 아름답게 만드는 일.
네가 말한 “틀은 유지하고 최적화만 한다”는 설명, 정말 정확해.
보통 "알고리즘 자체 변경은 리팩토링이 아니라, 기능 개선(optimization)" 이라고 따로 부르기도 해.
필요하면,
도 정리해줄게! 😊🔥