책꽃이 📔

리팩토링(2판)을 읽고

dalin❤️ 2022. 7. 11. 22:05

후기 💖

"좋다 좋다"라는 이야기를 듣고 책장에 넣어뒀다가, 읽기 시작했다. 표지는 되게 전문서적 같아서(?? 물론 전문서적이 맞지만.. 암튼.. 그런 느낌.. 아시죠?? ) 어려운 내용일 줄 알았는데, 생각보다 술술 읽힌다~ 글이 재미있고 번역도 잘됐다 ㅎㅎ 

나는 리팩토링은 엄청나게 복잡하고 거대한 것이라고 생각해서 좀 더 실력이 쌓인 후에나 적용할 수 있을 거라고 생각했다. 그런데 책을 읽어보니 그게 아니었다..!! 리팩토링 방법은 간단한 것도 많다. 그리고 어떤 게 악취가 나는 코드인지(책의 표현), 어떻게 수정할지 아는 것은 누구에게나 중요하다. 주니어는 주니어대로 읽어두면 좋고, 시니어는 시니어대로 또 읽으면 좋다.연차별로 여러 번 읽으면 좋다고 한다.

당연히 와닿는 것(중복을 피하자 등)도 있었지만, 의외인 것(너무 미래를 대비해서 코드를 작성하는 건 안 좋다, 단 한줄이라도 설명할 필요가 있다면 함수를 만들라 등)도 많았다! 엄청 찔릴 때가 많았고(당장 필요 없는 코드도 미래를 위해서 남겨두거나 주석 처리해두고 싶은 마음이 항상 굴뚝같았음), 계속 감탄하면서 읽었다 ㅋㅋ

인상 깊은 내용 🎶

이름 짓기

이름 짓기를 생각보다 많이 강조해서 신기했다! 책 3장 '코드에서 나는 악취'의 1번이 바로 '기이한 이름'이다. 회사에서도 이름 짓기에 엄청 고민을 많이 하는데, 처음에는 좀 낭비처럼 느껴졌다. 그런데 책을 읽고 나도 실무에서 일을 하다 보니까 중요한 게 이해가 됐다!! 전에는 나 혼자서 혹은 몇 명이서만 코드를 작성하고, 다른 사람/혹은 과거의 내가 작성한 코드를 많이 볼 일이 없었다. 그런데 실무에서는 다른 분의 코드를 많이 많이 보게 된다. 그때 이름이 잘 지어져있으면 이해하기 쉬워서, 이름 잘 짓기는 간단한 방법이지만 중요한 것 같다!

테스트 코드

리팩토링은 테스트 코드와도 연결된다. 리팩토링하기 전에 테스트 코드를 마련해둬서, 리팩토링 후에 기능이 정상 동작하는지 확인해야 한다. 완벽한 테스트 코드를 작성하지 못하더라도, 중요한 것 위주로 테스트 코드를 작성하는 게 좋다.

한 함수는 한 가지 일만 하기

하나의 함수는 한 가지 일만 해야 하고, 그것을 이름에 잘 담아내야 한다. 그 일을 어떻게 하는지가 아니라, 무슨 목적인지를 담아야 한다.

심지어 코드 내용이 한 줄이라도, 그 코드가 무슨 일 하는지 알아채기가 어려우면 함수로 만들어주는 게 낫다.

성능 최적화는...

성능 최적화는 성능을 측정해보고, 문제가 있으면 하면 된다!! 

관련 있는 것끼리 묶기

관련 있는 것끼리 클래스 등으로 묶어야 한다. 코드 위치도 관련 있는 것끼리 같이 둬야 한다. 

이 모든 것은 ..

한번에 완벽하게 할 수는 없다. 코드, 비즈니스 이해도가 높아질 수록 더 잘할 수 있다. 수정해야 할 것을 발견하면, 그때 수정하면 된다. 

그리고.. ✔

드림코딩에서 마침 리팩토링 강의가 개설되어서, 강의와 책을 같이 보고 있다. 강의는 이 책을 가지고 진행한다. 책 내용을 바탕으로 엘리님이 추가적으로 설명해주시고, 예제도 있다!  밑줄 긋기도 함께 하는데, 학창시절로 돌아간 느낌이 든다 ㅋㅋ (광고 ✖✖✖✖)

https://academy.dream-coding.com/courses/refactoring

 

클린코드를 위한 리팩토링 테크닉 총정리

깔끔하고 유지보수성이 뛰어난! 코드 개선을 위한 리팩토링! 개발자라면 누구나 알아야할 클린 코드를 작성하는 좋은 테크닉을 정리한 강의

academy.dream-coding.com

 

728x90