728x90
반응형
Part 3. 코드 재작성하기
10. 상관없는 하위문제 추출하기
대표적인 예시
해당 코드부분에서 주요 목적과 상관없는 하위 문제라면 별도의 함수로 추출해준다. 코드를 작성할 때, 어디까지 함수화해야할지 고민이 될 때가 있었는데, 이를 명심한다면 고민이 줄어들 것이다.
가독성 이외에도 얻는 장점이 많다. 독립적인 테스트도 용이하며 함수 재사용성이 높아지며 손쉽게 개선할 수 있다. 다만, 너무 자잘한 부분까지 하려할 필요는 없다. (오히려 가독성을 해칠 수도 있음)
11. 한 번에 하나씩
ch.10과 이어지는 내용인듯 하다. 한 번에 여러 가지 일을 수행하는 코드는 이해하기 어렵다. 따라서 작업을 분리하는 것이다.
코드가 복잡하고 읽기 어렵다면, 많은 논리가 어우러져있다는 뜻이고 이는 보통 작업이 뒤엉켜있는 경우가 많다. 따라서, 수행하는 작업을 모두 나열하고 한 번에 하나씩 수행될 수 있도록 하라. 중요한 점은 어떻게 분리할지보다 수행되는 모든 작업을 빠뜨리지 않고 정확하게 서술하는 것이다.
12. 생각을 코드로 만들기
남에게 제대로 쉽게 설명할 수 있어야 제대로 아는 지식이듯이, 코드도 마찬가지다. 남에게 보여줄 수 있도록 최대한 '쉬운 말'로 코드를 작성해야 한다.
해당 챕터의 내용은 리팩토링할 때 사용할 수 있을 것같다. 뭔가 복잡한 코드를 보고 최대한 쉬운 말로 묘사하여 문제의 틀을 제대로 잡는 것이다.
13. 코드 분량 줄이기
복잡한 코드만이 능사는 아니다. 목적에 맞지 않을 수 있고 목표가 간단하다면 그만큼 간단한 코드로도 충분하다는 이야기다.
13-1. 코드베이스를 작게 유지하기
프로젝트를 하다보면, 복잡성이 커지는 건 당연하다. 이를 대처하는 방법은 다음과 같다.
- 유틸리티를 많이 생성하여 중복된 코드 제거하기
- 사용하지 않는 코드 혹은 필요없는 기능 제거
- 프로젝트가 서로 분절된 하위프로젝트로 구성되게 하기
- 코드베이스의 '무게'를 항상 의식하여 가볍고 날렵하게 유지하기
13-2. 라이브러리에 친숙해지기
코드를 직접 작성하는 대신 우선적으로 이미 존재하는 라이브러리를 사용하는 것은 도움이 된다. 예시가 파이썬에서 리스트 중복 제거와 관련된 내용이라서 이해가 쉬웠다.
728x90
반응형
'도서 리뷰 > IT 도서 리뷰' 카테고리의 다른 글
[IT 도서 리뷰] 구글 엔지니어는 이렇게 일한다 (CH. 2) (0) | 2023.01.19 |
---|---|
[IT 도서 리뷰] 구글 엔지니어는 이렇게 일한다 (CH. 1) (0) | 2023.01.12 |
[IT 도서 리뷰] 읽기 좋은 코드가 좋은 코드다 (Part. 4) (0) | 2022.07.26 |
[IT 도서 리뷰] 읽기 좋은 코드가 좋은 코드다 (Part. 2) (0) | 2022.07.19 |
[IT 도서 리뷰] 읽기 좋은 코드가 좋은 코드다 (Part. 1) (0) | 2022.07.14 |