상세 컨텐츠

본문 제목

[도서] 리팩터링2판

블로그/도서

by 똘똘이박사 2020. 4. 28. 07:14

본문

리팩터링2판

 

"리팩터링"을 무엇이라고 생각 하는가?

많은 개발자 들이 리팩터링은 뭔가 어렵고, 최신 트랜드의 개발 기법이나 스팩으로

시스템을 개선하는 작업으로 알고 있다.

하지만 이것은 잘 못된 생각이고, 아직까지 이런 생각을 가지고 있다면

이 책을 읽고 하루라도 빨리 그런 생각을 버리기를 바란다.

 

"리팩터링"은 생각보다 우리 가까이 있다.

예를 들어 개발자들이 가장 힘들어 하는 일중 하나인 변수 이름 짓기를 생각해 보자.

게시판을 하나 만드는데 시간에 쫒겨 이름을 대충 a, b, c... 이런 식으로 짓고 넘어갈 수 있다.

(아주 충분히 그럴 수 있다.)

그리고 개발도중 혹은 개발이 완료된 이후

적절한 좋은 이름이 생각나 변수명을 name, title... 등과 같이 수정을 하였다.

이것이 "리팩터링"(책에서는 '6.7장 변수 이름 바꾸기'로 소개되어 있다) 이다.

 

예시의 작업은 어떤 최신 트랜드를 쫒아 가는가?

아니면 어떤 기능을 보완하거나, 개선하기 위한 것인가?

그렇지 않다. 

책의 앞부분에서 리팩터링에 대한 정의를 다음과 같이 내리고 있다.

리팩터링이란 겉으로 드러나는 코드의 기능은 바꾸지 않으면서 내부 구조를 개선하는 방식으로 소프트웨어 시스템을 수정하는 과정이다

코드는 누가 봐도 읽기 쉬워야 한다.

읽기 쉬운 코드는 간결하며, 의미가 코드 속에 녹아 있어야 한다.

그런 코드가 어떤 상황에서든 개선하기 쉽다. 즉 어떤 외부 요인에 의해서 코드를 수정해야 할때

유연하고 빠르게 대처 할 수 있다는 것이다.

 

이 책은 그런 방법들에 대해 저자의 경험을 정리한 것이다.

 

예시는 주로 자바스크립트를 이용해 작성되어 있다.

예제 코드가 자바스크립트로 되어 있다고 아쉬워할 필요는 없다.

각 장에서 리팩터링의 기법을 소개 할 때 이것을 사용하는 이유와 절차를 차근차근 설명하고 있으므로

다른 언어를 사용한다 하더라고 크게 문제가 되지 않을거 같다.

(물론 언어에서 지원하는 스펙에 따라 다르겠지만 말이다.)

중요한 것은 그 것을 왜 해야 하고, 어떻게 해야 하는지에 대한 충분한 설명과 방법인 것이다.

 

 

어떤 개발자도 자신이 만들었던 모든 프로그램 소스를 기억하고 있지 않다.

따라서 기존 코드를 수정하려면 어느 정도 코드를 분석하는 시간이 필요하다.

나중을 위해 처음 개발을 시작할때 설계를 잘해 놓으면 되지 않느냐는 반론을 제기할 수 있지만

그 설계 자체도 나중에 보면 수정해야 할 부분이 많아 보일 수 있다.(저자도 나와 비슷한 생각인거 같다)

따라서 코드는 리팩터링을 통해 점진적으로 개선해 나가는 것이 좋다.

 

이 책은 가능하면 모든 개발자들이 한번은 읽어 봤으면 좋겠다.

(특히 코드를 본인만 알아 볼 수 있도록 어렵게 짜는 것이 실력이라고 믿고 있는 사람들에게!!!)

 

 

반응형

관련글 더보기