본문 바로가기

Refactoring2

리팩터링 2판 - 2장 리팩터링 원칙 2장의 내용은 정말 한 문장 하나하나가 많은 생각을 하게끔 해주고 인사이트를 주었다. 그렇다고 책 내용을 그대로 옮겨올 수도 없는 노릇이기에 이 글을 읽는 분들이 이 책에 흥미를 가지길 바라며 책의 내용과 내 생각을 간단히 정리하여 글로 남긴다. 2.1 리팩터링 정의 소프트웨어의 겉보기 동작(Observable behavior)은 그대로 유지한 채, 코드를 이해하고 수정하기 쉽도록 내부 구조를 변경하는 기법 소프트웨어의 겉보기 동작은 그대로 유지한 채, 여러 가지 리팩터링 기법을 적용해서 소프트웨어를 재구성하다. 책에서 저자는 단순히 코드를 정리하는 작업이 리팩터링이 아니라 특정한 방식에 따라 작은 단계들을 거쳐 큰 변화를 만들어내는 코드의 수정이 리팩터링이라고 말한다. 이 단계들은 순차적.. 2022. 12. 28.
정적 분석 : 좋은 소프트웨어를 만들기 위한 노력의 과정 정적 분석(Static Analysis) 정적 분석이란 소스코드의 실제 실행 없이 소프트웨어를 분석하여 문제를 찾는 것을 말한다. 개발을 하는 우리 모두 소위 말하는 냄새 나는 코드(Code Smell)를 작성해본 경험이 있을 것이다. 우리는 다양한 이유로 냄새나는 코드를 만들어왔다. 아직 경험이 부족해서 코드의 냄새를 맡지 못해서일 수도 있고, 일정 등의 외부 요인으로 냄새를 맡았지만 참고 넘겼을 수도 있다. 문제는 소프트웨어를 지속적으로 발전시켜나가야하는 우리들, 혹은 회사의 입장에서 이는 고스란히 부채로 남아 자신이나 팀원들에게 돌아오게 된다는 것이다. 그렇다면 어떤 코드가 냄새나는 코드일까? 마틴 파울러 형님의 말씀에 따르면 코드 냄새는 문제 자체가 아니라 코드 어딘가에 문제가 있을 수 있다는 지.. 2022. 12. 24.