워밍업 클럽 BE 3기 리더블 코드, 테스트 - 1주차 발자국
강의 주요 학습 내용추상화는 중요한 정보를 부각하여야 한다.동일한 세계에서는 추상화 레벨이 같아야 한다.코드를 읽기 위한 인지적 노력을 줄이기 위해서는 사고의 깊이를 줄이는게 중요하다. 괄호의 depth를 줄이라는 의미가 아니다.의도하지 않은 예외를 최대한 찾아내어 "의도한 예외"로 전환하여야 한다.객체간의 관심사를 분리하는게 중요하다 -> 높은 응집도와 낮은 결합도를 얻어야 한다.코드를 설계하고 리팩토링하는 과정에서 도메인에 대한 지식을 얻을 수 있다. 도메인 지식은 발견하는 것이다.상속은 결합도를 강하게 높이기 때문에 자제하는 것이 좋다. 컴포지션을 활용하자.강의 회고칭찬하고 싶은 점: 부트캠프 진행으로 바쁜데도 노트정리하며 모든 과제를 완료했다. 아쉬웠던 점: 시간에 쫓겨서 충분한 복습을 하지 못한 것 같다. 열심히 할 수 있는 공간이 조금 더 보인다.보완하고 싶은 점: 스프링 경험이 거의 없기 때문에 테스트 강의에 들어가기 전에 먼저 큰 그림을 다시 잡아야 한다.다음 주 목표: 리더블 코드를 완강하고 복습도 철저히 하고 싶다. 복습을 안 하고 다음 컨텐츠를 보는것이 내 약점이다.미션 해결 과정Day 2 미션: 추상과 구체의 실생활 예시를 적어보는 미션이였다. 구체적인 설명의 추상화 레벨을 똑같이 유지하는게 어려웠다. 구체적인 설명들 또한 더 구체적인 설명들이 추상화된 형태이기 때문에 어디까지 구체적으로 표현해야 될 지 어려움이 있었다. 일단 구체설명들을 적어보고 스스로에게 문답하는 식으로 추상화 레벨을 비슷하게 유지하려 노력하였다.Day 4 미션:코드를 리팩토링 하는 미션이였다. 중첩된 for문,if문 로직을 Early return으로 로직을 선형적으로 만드는건 어렵지 않았다. 역시 어려웠던건 조건문들을 메서드로 변경하면서 이름을 지어주는 일이었다. has, is등 적절한 접두어를 선택하는게 어려웠다. 결국에는 가장 자연스러운 영어적 표현으로 읽히도록 명명했는데 여전히 애매한 느낌이 든다.두번째 미션은 SOLID를 나만의 방식으로 정리하는 정의하는 미션이였다. 각 원칙들을 나만의 말로 바꾸면서 조금 더 이해할 수 있게 된 것 같다. 관련 강의리더블 코드:https://www.inflearn.com/course/readable-code-%EC%9D%BD%EA%B8%B0%EC%A2%8B%EC%9D%80%EC%BD%94%EB%93%9C-%EC%9E%91%EC%84%B1%EC%82%AC%EA%B3%A0%EB%B2%95?srsltid=AfmBOop2XZyP6mUUrCKnPow9H8vyQBbfu8CWkkdEcQtuKoaOkG5HqVWJ