사용자가 공유한 콘텐츠
iol-lshh.github.io
리팩터링이 뭔가요?
리팩터링의 본질은 "동작을 수정하지 않는 것" + "비기능적 개선" 입니다.
<오늘은 써야지> 라는 블로그 글 쓰기 모임을 시작했습니다. 첫 번째 주제는 "이제와서 고쳐보는 2024년의 내 코드"였습니다. 이 토픽을 본 순간 두가지 개념을 떠올렸습니다.
- 리팩터링(Refactoring): 컴퓨터 프로그래밍과 소프트웨어 설계에서 외부 동작을 변경하지 않고 기존 소스 코드를 재구성 하는 프로세스. 소프트웨어의 설계, 구조 및/또는 구현 ( 비기능적(Non-functional requirement) 속성)을 개선하는 동시에 기능을 보존하기 위한 분해(Decomposition).
- 회귀 테스트(Regression Test): 이전에 개발 및 테스트된 소프트웨어가 변경 후에도 예상대로 계속 수행되는지 확인하기 위해 기능적 테스트와 비기능적 테스트를 다시 실행하는 것.
경험이 부족한 제가 좋은 글을 작성하는 좋은 방법 중 하나는, 단순히 개인적인 생각을 나열하는 것이 아니라 책을 읽고 내용과 함께 생각을 정리하는 것이라 생각합니다. 거인의 어깨 위에 있을 때, 더 넓은 시야로 바라볼 수 있을테니까요.
그래서 다음 두 권의 책을 기반으로 리팩터링에 대해 정리해봤습니다.
📖 Working Effectively with Legacy Code (Michael Feathers, 2004)
📖 Refactoring: Improving the Design of Existing Code 2nd ed. (Martin Fowler, 2018)
🔗[# Legacy Code와 Refactoring의 정리와 회고](https://iol-lshh.github.io/%ED%9A%8C%EA%B3%A0/refactoring_legacy/LegacyCode_Refactoring_%EC%A0%95%EB%A6%AC%EC%99%80_%ED%9A%8C%EA%B3%A0/)
다음 내용이 궁금하다면?
이미 회원이신가요?
2025년 3월 7일 오전 12:36
『Clean Architecture』의 “FUNCTIONAL PROGRAMMING” 마지막에는
... 더 보기바
... 더 보기W
... 더 보기K
... 더 보기1. 어제의 태양은 오늘의 태양과 다르다. 이름만 같을 뿐, 둘은 전혀 다른 존재다.
실
... 더 보기