
인프런 워밍업 클럽 스터디 3기 - 백엔드 클린 코드, 테스트 코드 1주차 발자국
섹션2. 추상
추상화란 구체적인 요소들을 감추고 중요한 특징만을 표현하는 것이다. 특정한 측면 외 나머지는 버린다는 점이 인상적이었습니다.
또한 추상화에도 각각의 레벨이 있다는 생각을 해본적이 없었는데, 동일한 내부 세계에서는 동일한 추상화 레벨을 가진다는 내용이 인상적이었습니다.
섹션3. 논리, 사고의 흐름
하나의 문단에는 하나의 의미를 가지고있고, 하나의 메서드에는 하나의 기능만 가져야한다는 내용이 인상적이었습니다.
Early Return
불필요한
else
를 제거하고, 조건에 맞으면 즉시return
하여 흐름을 명확하게 유지하는 방법을 배웠습니다.
사고의 깊이(depth) 줄이기
중첩된 분기문과 반복문의 깊이를 줄이고,
stream
을 활용하여 선형적으로 코드를 읽을 수 있도록 개선하는 방법을 익혔습다.
부정어 최소화
부정 연산자(
!
) 사용을 줄이고, 긍정적이고 직관적인 표현으로 메서드 이름을 짓는 것이 가독성 향상에 도움이 됨을 깨달았습니다.
미션 해결 과정
Day 2 미션
"추상과 구체 사이의 적절한 균형을 찾는 것이 중요하다."
코드가 지나치게 구체적이면 가독성이 떨어지고, 반대로 너무 추상적이면 실제 동작이 모호해진다는 점을 고민할 수 있어서 유익했습니다.
Day 4 미션
리팩토링 미션을 진행하며, 중첩된 for
문과 if
문을 Early Return 방식으로 변환하여 코드를 더 읽기 쉽고 직관적으로 만들었습니다. 또한, 가독성을 고려한 메서드 명명법을 고민하면서 개선해 나갔습니다.
또한, SOLID 원칙을 나만의 방식으로 정리하는 미션을 수행하면서 단순 암기가 아니라 스스로 이해하며 정리하는 과정을 거쳤다. 여러 자료를 찾아보면서 개념을 내 언어로 표현한 것이 큰 도움이 되었다.
회고
추상과 구체 사이의 적절한 지점을 찾는 것이 중요느것을 깨닫게 되었습니다. 제가 가지고 있는 개발하며 안좋은 습관중 하나는 한 번에 모든 것을 처리하려다 보니, 하나의 메서드에 여러 기능을 넣는다는점이었습니다. 이번 수업을 통해 이를 반성하고 채움보다 비움을 통해 더 명료하게 개발하는 것의 중요성을 실감할 수 있었다.
실습과 미션을 통해 이를 직접 경험하며, Early Return과 중첩 최소화 등 작은 코드 개선만으로도 가독성이 크게 향상될 수 있음을 체감할 수 있었다.
스스로 칭찬하고 싶은 점
미션을 통해 배운 내용을 즉시 적용하여 리팩토링하면서 개념을 내 것으로 만들려고 노력한 점
추상화 레벨을 생각하며 개발하려 노력한 점
하나의 메서드는 하나의 기능만 하도록 개발하려 노력한 점
아쉬웠던 점 & 보완할 점
변수명과 메서드명을 더 명확하고 직관적으로 짓는 능력이 부족하다고 느낌
추상화 레벨을 동일하게 맞추는 방법을 더 깊이 있게 연습할 필요성을 느낌
다음 주 학습 목표
개인 프로젝트를하며 배운내용을 실전에 사용하는것을 목표로 삼고있다.
댓글을 작성해보세요.