💗 노개북 최애 틸(TIL)
Flynn(플린님)
- 리팩터링 미션 할 때 플린님의 깨끗한 코드를 참고했습니다.
덕분에 공부도 많이 되었습니다. - 플린님 TIL 링크
친슈님
- 3줄 요약과 읽은 소감을 가장 많이 보고 배웠던 TIL입니다.
- 책을 읽으면서 막히는 부분을 가장 많이 참고했던 곳 중 하나입니다.
- 친슈님 TIL 링크
Jz님
- 처음 노개북 작성을 했을 때 어떻게 정리할지 감이 안 잡혔을 때 Jz님 TIL을 보고 큰 도움이 되었습니다.
- 책을 읽으면서 막히는 부분을 가장 많이 참고했던 곳 중 하나입니다.
- Jz님 TIL 링크
😀 책에서 기억하고 싶은 내용을 써보세요.
- 경계 살피고 익히기
- 우리 자신을 위해 우리가 사용할 코드를 테스트하는 편이 바람직하다.
- 외부 코드를 곧바로 작성해 외부 코드를 호출하는 대신 먼저 간단한 테스트 케이스를 작성해
외부 코드를 익히면 어떨까?
=> 짐 뉴커크(Jim Newkirk)는 이를 학습 테스트라 부른다.
- 학습 테스트는 공짜 이상이다.
- 학습 테스트에 드는 비용은 없다.
- 학습 테스트는 이해도를 높여주는 정확한 실험이다.
- 패키지 새 버전이 나온다면 학습 테스트를 돌려 차이가 있는지 확인한다.
- 학습 테스트는 패키지가 예상대로 도는지 검증한다.
- 경계에 위치하는 코드는 깔끔히 분리한다.
- 통제가 불가능한 외부 패키지에 의존하는 대신 통제가 가능한 우리 코드에 의존하는 편이 훨씬 좋다.
=> 자칫하면 외부 코드에 휘둘리고 만다. - 외부 패키지를 호출하는 코드를 가능한 줄여 경계를 관리하자.
- 새로운 클래스로 감싸거나 아니면 ADAPTER 패턴을 사용해 우리가 원하는 인터페이스를
패키지가 제공하는 인터페이스로 변환하자. - 어느 방법이든 코드 가독성이 높아지며, 경계 인터페이스를 사용하는 일관성도 높아지며,
외부 패키지가 변했을 때 변경할 코드도 줄어든다.
- 새로운 클래스로 감싸거나 아니면 ADAPTER 패턴을 사용해 우리가 원하는 인터페이스를
🤔 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요.
- [학습 테스트] 토비의 스프링에서 봤던 내용이 나와서 반가웠습니다.
=> 하지막 실질적으로 활용을 하고 있지 않아서 좀 더 찾아보고 공부해봤습니다.
=> 학습 테스트와 단위 테스트에 대해 잘 정리된 블로그(링크)
=> 학습 테스트의 개념과 장점, 예제가 정리된 블로그(링크) - 경계에 위치하는 코드 분리 관련해서는 개방 폐쇄 원칙(OCP)이 생각났다.
=> 객체의 확장은 개방적이지만, 객체의 수정은 폐쇄적으로 대하는 원칙을 말한다.
=> 기능이 변하거나 확장은 가능하지만, 해당 기능의 코드는 수정하면 안 되도록 하는 원칙
=> 만약에 외부 패키지가 수정되면 해당 객체에 의존하는 다른 객체도 줄줄이 고쳐야 하는데
그런 문제를 방지하기 위해 개방 폐쇄 원칙을 적용한다.(참고 링크)
🔎 궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
- 외부 코드 사용하기 파트에서 의문 발생(144p)
- IT회사 관련 얘기를 들으면서 하나의 버전으로 프로젝트를 진행하고 버전업을 안 한다는 얘기를 들었습니다.
그렇다면 책에서 나오는 버전업으로 인한 문제는 직면하기 힘들 수도 있겠다는 생각을 했습니다. - 책에서는 예시를 하기 위해 자바 코드 관련을 예시로 들었다고도 생각했습니다.
- 외부 라이브러리를 가져와서 사용한다면?
=> 책에서 추천하는 학습 테스트 후에 도입하는 방법 진행
=> 기존에 외부 라이브러리를 사용하는 부분을 외부 패키지에 의존성이 높지 않도록 구성
- IT회사 관련 얘기를 들으면서 하나의 버전으로 프로젝트를 진행하고 버전업을 안 한다는 얘기를 들었습니다.
👀 소감 3줄 요약
- 학습 테스트는 권장이 아닌 필수
- 통제가 불가능한 외부 패키지에 의존하는 대신 통제가 가능한 우리 코드에 의존하는 편이 훨씬 좋다.
- 외부 패키지가 변경되었을 때 내가 작성한 코드가 변경해야 하는 소요를 줄이도록 설계
반응형
'독서 > 클린코드_노개북' 카테고리의 다른 글
[노개북] 클린코드 18일차 - 노마드 코더 (0) | 2022.02.07 |
---|---|
[노개북] 클린코드 17일차 - 노마드 코더 (0) | 2022.02.06 |
[노개북] 클린코드 15일차 - 노마드 코더 (0) | 2022.02.04 |
[노개북] 클린코드 13일차 - 노마드 코더 (0) | 2022.02.03 |
[노개북] 클린코드 12일차 - 노마드 코더 (0) | 2022.02.01 |