이번에도 역시 '비개발자'로서 읽은 개발도서 리뷰입니다.
https://www.hanbit.co.kr/store/books/look.php?p_code=B6952616555
데이터분석을 하며 가장 많이 하는 일 중 하나가 SQL을 활용해 데이터를 추출하고 대쉬보드를 만드는 일인데요.
저도 처음에는 일단 데이터를 원하는 대로 뽑아내는 것에 집중하다가, 이제 충분히 능숙해지고 나니 리팩터링과 성능 최적화에 관심을 갖게 되었습니다.
그래서 도움을 얻고자 프로그래머에게 리팩터링의 교본이라 불리는 마틴 파울러의 '리팩터링 2판'을 읽었는데요.
개발도서를 선택한 이유는:
참고로 저는 개발을 위한 언어를 각잡고 공부한 것은 아니라서 코드 보다 개념 + 필요한 부분 위주로, 알고 있는 것과 대입해가며 읽는데요. 그것이, 꽤 도움이 되었습니다!
백엔드 개발지식이 있으면 좋겠다는 생각이 들면서도, 무엇을 어디까지 알아야 하는 건지 계속해서 고민입니다. 이 책을 통해서 근본적으로 중요한 것을 배웠다면, 이 다음으로는 실전에서 활용할 수 있는 책을 연계해서 읽으면 좋겠다고 느꼈습니다.
📚 리팩터링 2판 / 마틴 파울러
◾ 리팩터링 정의
79p - [명사] 소프트웨어의 겉보기 동작은 그대로 유지한 채, 코드를 이해하고 수정하기 쉽도록 내부 구조를 변경하는 기법
◾ 리팩터링 & 성능최적화
80p
◾ 리팩터링의 필요성에 관해서
27p - 잘 작동하고 나중에 변경할 일이 절대 없다면 놔둬도 아무런 문제가 없다. 다듬으면 좋지만, 누군가 읽지 않는 한 아무런 피해가 없다. "하지만 그러다 다른 사람이 읽고 이해해야 할 일이 생겼는데 로직을 파악하기 어렵다면 뭔가 대책을 마련해야 한다."
◾ 변수명의 중요성에 관해서
35p - 컴퓨터가 이해하는 코드는 바보도 작성할 수 있다. 사람이 이해하도록 작성하는 프로그래머가 진정한 실력자다. 좋은 코드라면 하는 일이 명확히 드러나야하며, 이때 변수 이름은 커다란 역할을 한다.
44p - 이름이 좋으면 본문을 읽지 않고도 무슨 일을 하는지 알 수 있다. 처음에는 당장 떠오르는 최선의 이름을 사용하다가, 나중에 더 좋은 이름이 떠오를 때 바꾸는 식이 좋다.
◾ 성능 개선 전에 일단 리팩터링
47p - '특별한 경우가 아니라면 일단 무시하라'. 리팩터링 때문에 성능이 떨어진다면, 하던 걸 마무리하고 나서 성능을 개선하자.
◾ 간결함 보다 명료함
63p