아침에 일어나 집안일을 끝낸 후 점심을 먹은 뒤
구글 엔지니어는 이렇게 일한다를 보기 시작했습니다.
책을 읽다보면 흐름을 놓칠 때가 많은 것 같아
책을 제대로 보지 않은 것 같은 느낌이 많이 들었기 때문에
흐름을 놓치면 다시 보고 흐름을 놓치면 다시 보고를 반복하다 보니
책을 읽는데 시간이 오래 걸렸지만 평소에 책을 읽을 때보다
집중도 더 잘되고 책의 흐름을 파악할 수 있어 좋았습니다.
1장의 내용은 얼마나 지속 가능한 코드를 작성하는지와
코드의 의존성에 대한 부분 그러고 작은 부분이어도
사용자가 사용하기에 따라서 변경을 하면 편의성을 해칠 수 있다는
내용이었습니다.
또한 상황에 맞게끔 코드를 작성하는 것이 중요하다는 것을 배운 것 같습니다.
구글 엔지니어는 이렇게 일한다를 읽으며 든 생각은 내 코드의 유통기한은 얼마나 될까였습니다.
현재 진행 중인 프로젝트에서 내가 짠 코드의 유통기한은 과연 길까?를 스스로에게 물었을 때
답은 아니오였고 반성하게 되었습니다.
코드를 컨슈머 관점에서 설계하는 것뿐만 아니라 코드의 지속성을 생각하며 작성해야겠다는 생각이 들었습니다.
구글 엔지니어는 이렇게 일한 다를 본 후 유틸 함수를 설계하는 작업을 진행했습니다.slice
는 어제 만들었고 오늘은 request
유틸 함수를 설계하는 작업을 진행했는데
두 가지 상황을 고려해야 했습니다.
우선 첫 번째는 서버에서 받은 response
를 리덕스에 저장하는 경우가 있고
두 번째 경우는 서버에서 받은 response
를 리덕스에 저장시키지 않는 경우가 있었습니다.
이 두 부분을 조건문으로 한 함수에서 처리를 하려고 생각을 했으나
단일 책임 원칙에 위배된다는 느낌을 받아 정말 오랜 시간 고민을 했는데
우선은 두 가지는 각자 다른 역할을 하기 때문에 함수를 분리해야겠다는 생각이 들었습니다.
또한, 지금 한 가지 함수가 너무 많은 작업을 내포하고 있는 게 아닌가?
그렇다면 컨슈머는 과연 이 함수를 한 번에 이해할 수 있을까?라는 생각에
조금 더 신중히 설계를 해야겠다는 생각이 들었습니다.
오늘도 유틸 함수를 완성하지 못했지만 어느 정도 고지가 보이는 것 같아 기분이 좋습니다.
'Today I Learned' 카테고리의 다른 글
TIL]2022/12/09 (0) | 2022.12.10 |
---|---|
TIL] 2022/12/08 (0) | 2022.12.09 |
TIL] 2022/12/03 (1) | 2022.12.04 |
TIL]2022/12/02 (0) | 2022.12.03 |
TIL]2022/12/01 (0) | 2022.12.02 |