[인프런 워밍업 클럽 백엔드 스터디 2기] 1주차 발자국
1주차 학습 내용
클린 코드가 필요한 이유
미래의 나 혹은 다른 사람이 코드를 읽는 데 소요되는 시간과 자원이 절약된다. = 유지보수가 용이하다.
[Section2] 추상
클린 코드를 위한 핵심 주제
구체적인 정보들에서 핵심만 추려 표현
복잡한 로직을 단순하게 표현 -> 읽기가 좋다
적절한 추상화를 위한 변수 및 메서드의 naming, 상수화, 추상화 레벨을 동등하게 맞춰 읽기 좋은 코드를 작성하는 법에 대해 학습
[Section3] 논리, 사고의 흐름
잘 읽히는 코드를 위한 방법에 대해 학습
코드의 depth를 줄여 사고의 과정을 줄이기
공백을 활용해 적절한 의미 나누기
부정어 최대한 사용하지 않기
NPE에 대한 처리, 의도한 예외와 예상하지 못 한 예외에 대한 구분
Optional의 적절한 활용
[Section4] 객체 지향 패러다임
객체 지향의 설계 원칙에 입각한 클래스 구분
하나의 책임을 가지는 객체들 간의 협력으로 소프트웨어를 구성하자
개념적으로만 알고 있던 객체 지향 설계 5대 원칙을 실제 코드에 적용해 보며 학습
[Section5] 객체 지향 적용하기
상속은 부모와 자식간의 결합도가 높기 때문에 조합을 활용하는 것을 추천
VO, 일급 컬렉션의 개념과 활용
Enum 클래스의 활용
변하는 것과 변하지 않는 것을 분리하여 추상화함으로써 OCP를 만족하는 코드를 작성
설계할 때는 근시적, 거시적 관점에서 최대한 미래를 예측하고 예측이 틀린 경우를 대비해 언제든 돌아올 수 있도록 코드를 작성
1주차 미션
Day2 미션
일상의 추상적인 행위에 대해 구체적으로 표현해보는 간단한 미션이었다.
'양치질'이라는 행위에 대한 과정을 구체적인 단계로 표현해보았다.
Day4 미션
학습한 내용에 입각해 코드를 리팩토링 해보는 미션
SOLID라는 개념에 대해 본인만의 언어로 정리해보는 미션
https://exultant-timer-c4c.notion.site/Day4-1149027655a5808d8d7be5baa82ee0b4?pvs=4
1주차 회고
학습해야할 내용이 생각보다 많아 퇴근 후 진도를 맞추기 버거운 부분이 있었다.
이번 주는 휴일이 많아 이를 활용해 진도를 맞출 수 있었지만 이후로는 주말을 활용해 미리 학습할 필요가 있을 것 같다.
객체 지향에 대해 개념만 학습하고 활용하는 방법에 대해선 알지 못했다. 이번 학습을 계기로 실무에서 적용해볼 수 있는 좋은 코드를 작성하는 방법을 많이 배울 수 있었다. 회사 코드를 작성하면서 배운 내용들을 되새기며 다른 팀원들의 입장에서 코드를 작성해나가야겠다.
댓글을 작성해보세요.