메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

IT/모바일

『리팩터링 2판』에 대해 마틴 파울러에게 물었습니다

한빛미디어

|

2020-03-26

|

by 편집부

12,855

 
『리팩터링 2판』 (리팩토링 개정판)의 본문 내용 등을 재구성하여 작성되었습니다.
 

 
리팩터링은 무엇이고, 왜 해야 하나요?
 
리팩터링은 겉으로 드러나는 코드의 기능(겉보기 동작)은 바꾸지 않으면서 내부 구조를 개선하는 기법입니다. 요컨대 리팩터링을 한다는 건 코드를 작성한 후 설계를 개선하는 일이라 할 수 있습니다. 전통적인 소프트웨어 개발 방법론은 좋은 설계가 우선이고 그다음이 코딩입니다. 그러나 시간이 흐르면서 코드는 수정되고 시스템의 무결성, 즉 설계에 맞춘 구조는 점차 뒤죽박죽이 되어가죠.
이 과정을 반대로 한 것이 리팩터링입니다. 리팩터링을 하면 일의 균형이 바뀝니다. 처음부터 완벽한 설계를 갖추기보다는 개발을 진행하면서 지속적으로 설계하게 되죠. 시스템을 구축하는 과정에서 더 나은 설계가 무엇인지 배우게 됩니다. 그 결과, 개발의 시작부터 끝날 때까지 프로그램은 줄곧 우수한 설계를 유지할 수 있죠.
· · ·
 
이 책을 통해 무엇을 배울 수 있나요?
 
어떤 코드를 고쳐야 하는지, 왜 고쳐야 하는지, 어떤 코드가 좋은 코드인지 이해할 수 있습니다. 이런 과정을 통해 코드 디자인을 배우고 자신의 코딩 스타일도 바꿀 수 있죠. 이 책을 읽기 전후에는 코드 품질에서 큰 차이가 있을 것입니다.
· · ·
 
2판에서는 무엇이 바뀌었나요?
 
18년 동안 프로그래밍 언어의 많은 것이 바뀌었습니다. 2판에서는 거의 모든 페이지를 새로 작성해야 했죠. 하지만, 전판의 리팩터링의 핵심과 기법은 여전히 유효합니다. 리팩터링 2판은 리팩터링을 더 효과적으로 수행하는 방법을 더 많은 사람이 쉽게 익힐 수 있게 새로 집필했다고 보시면 됩니다.
· · ·
 
자바스크립트로 예제를 바꾼 이유가 궁금해요
 
리팩터링을 특정 한 언어를 대상으로 설명하지 않았습니다. 다만, 리팩터링을 가장 잘 설명할 수 있는 언어가 자바스크립트이기 때문에 선택했을 뿐이죠. 자바스크립트는 클래스 중심이 아니고, 상위 레벨의 함수가 존재합니다. 일반적인 일급 클래스 함수 등의 여러 특징 때문에 클래스에 얽매이지 않고 리팩터링을 가장 효과적으로 설명할 수 있습니다.
따라서 이 책에서는 자바스크립트의 복잡한 언어 특성은 건드리지 않고, 일반적인 프로그래머들에게 익숙하지 않은 자바스크립트만의 스타일도 되도록 피했습니다. 자바스크립트를 모르더라도 코드를 읽고 리팩터링을 이해하고 각자의 언어에 적용할 수 있게 썼죠.
· · ·

댓글 입력
자료실