joyf***
2020-04-27

지난 20년간 전 세계 프로그래머에게 리팩터링의 교본이었던 이 책의 1판은, 기존 코드의 디자인을 개선하고 소프트웨어 유지 관리 능력을 향상시켰으며 기존 코드를 이해하기 쉽게 만드는 데 도움을 주었습니다.
안녕하세요.
오늘 소개할 책은 컴퓨터공학 적인책입니다.
좀 어려운 책입니다.
컴퓨터 프로그램을 짜는 사람을 프로그래머라고 하는데,
프로그램을 짜기 위해서 언어를 공부해야 합니다.
미국 사람과 대화하기 위해서 영어를 공부하는 것처럼요.
컴퓨터와 이야기 하기 위해서 언어를 배우는데요.
가장 대표적인 언어가 자바, C, 파이선 등등 프로그램이 있습니다.
마이크로 소프트의 비주얼베이직, 비주얼C++, 비주얼C# 등등 무수하게 많습니다.
이런 코딩과 관련 있는 책입니다.
프로그램의 가치를 높이기 위해서는 코드 관리하는 기술이 필요합니다.
이런 기술은 업무를 통해 익혀가면서 얻게 되는 경우가 많습니다.
그래서 경력자들에게는 다양한 노하우가 있습니다.
이런 코딩의 노하우를 가르치는 책이 바로 이 책입니다.
먼저 리팩터링이란 무슨 말인지 알아야 할 것 같습니다.
리팩터링은 겉으로 드러나는 코드의 기능은 바꾸지 않으면서 내부 구조를 개선하는 방식으로 소프트웨어 시스템을 수정하는 과정입니다.
왜 리팩터링을 해야 할까요?
코딩을 하다보면 버그가 발생하는데 리팩터링을 하게 되면 효율적인 방식으로 코딩 체계를 바꾸기 때문에 버그를 잡고, 구조적으로 안정적인 프로그램을 만들 수 있습니다.
책의 진행은 1장에서 예시를 통해 리팩터링이 어떻게 이뤄지는지 알려줍니다.
그리고 2장에서는 리팩터링 하는 원칙을 소개합니다.
3장에서는 문제가 있는 코드를 찾아 제거하는 방법을 소개하고 있습니다.
4장에서는 테스트를 작성하는 방법을 소개하고 있고요.
5장에서 끝까지 리팩터링 카탈로그가 있습니다.
이것이 이 책의 핵심입니다.
자신에게 필요한 부분을 찾아서 사용하면 되기 때문에 수시로 옆에 두고 필요한 부분을 참고하면 되도록 구성이 되어 있습니다.
이 책에서 사용한 언어는 자바스크립트입니다.
다른 언어를 사용하는 유저도 코딩의 원리를 이해할 수 있기 때문에 자바스크립트를 선택했다고 합니다.
자바스크립트를 깊이 알지 못해도 무리없이 이해할 수 있다고 하니 별다른 걱정은 필요없겠네요.
자바스크립트가 가장 보편적이라 이 언어를 선택했다고 합니다.
클래스 모듈, 함수 등의 용어를 이해할 수 없는 사람이라면 프로그래밍 언어를 먼저 공부해야 합니다.
이 책의 독자는 프로그래머입니다.
직업으로 소프트웨어를 개발하려는 사람에게 필요한 책입니다.
뭔지 잘 모르는 사람도 왠지 설계가 잘 된 것 같은 느낌을 갖게 됩니다.
만약 설계가 잘 안된 프로그램을 짠다면 다음에 이 프로그램을 수정하려면 정말 쉽지 않습니다.
그런데 이렇게 설계된 프로그램은 여러 함수를 삽입할 수도 있고, 변경할 수도 있게 됩니다.
리팩토링은 컴퓨터가 이해할 수 있는 코딩을 하는 것이 아니라 사람이 이해할 수 있는 코드를 짜게 만드는 것입니다.
가장 훌륭한 프로그래머는 이해할 수 있도록 코딩하는 사람입니다.