인프런 워밍업 클럽 스터디 3기 - 백엔드 클린 코드, 테스트 코드 1주차 발자국

섹션2. 추상
추상화에 대해 깊게 생각해보거나 코드의 추상화, 구체화에 대해 예시를 들어보며 깊이 있게 생각해본 경험이 부족하다는 생각이 들었다.
이번 강의를 수강하고 실습을 진행하며 추상화란 구체화된 정보에서 정보를 덜어내는 일련의 과정임을 알게 되었다.
이 과정에서 코드를 단순화하여 유지보수를 쉽게 하고, 팀원간의 협업 수준을 높일 수 있음을 알고 실제 프로젝트에서의 중요성을 크게 느꼈다.
섹션3. 논리, 사고의 흐름
Early Return 을 통해 메소드, 사고의 depth를 줄이고 이를 통해 코드의 흐름을 명료하게 하는 과정을 추상화 과정과 더불어 주로 어떠한 방식으로 진행해야 하는지 강의와 실습을 통해 알아가는 시간을 가졌다.
섹션4. 객체 지향 패러다임
추상화, 코드 흐름을 명료하게 하는 과정에서 SOLID 원칙을 활용하여 코드를 설계해야 한다.
SOLID 원칙
SRP(단일 책임 원칙): 클래스가 하나의 명확한 책임만 가지도록 설계
OCP(개방-폐쇄 원칙): 기존 코드를 수정하지 않고 확장할 수 있도록 설계
LSP(리스코프 치환 원칙): 자식 클래스가 부모 클래스를 대체해도 프로그램이 정상 작동하도록 설계
ISP(인터페이스 분리 원칙): 사용하지 않는 메서드를 구현하도록 강요받지 않도록 인터페이스를 작게 분리
DIP(의존성 역전 원칙): 고수준 모듈과 저수준 모듈 모두 추상화된 인터페이스에 의존하여 유연성을 높이기
회고
전반적으로 코드를 추상화 하는 것이 정확하게 무엇인지, 추상화는 어떤 기준을 가지고 어떻게 진행해야 하는지에 대해 명확한 판단 기준이 없던 상태에서 강의를 듣고 실습을 진행하다 보니 내면 한 켠에 무의식적으로 추상화 레벨에 대한 기준이 생긴 것 같다. 이 기준을 말로 설명하기 까지는 더 많은 시간이 걸리겠지만, 더 많은 학습을 통해 한 걸음 나아가고자 한다.
댓글을 작성해보세요.