![[워밍업-백엔드3기] ReadableCode 1주차 회고](https://cdn.inflearn.com/public/files/blogs/ed0e22ca-8491-4827-8eeb-7052c1feb8fe/워밍업클럽.jpg)
[워밍업-백엔드3기] ReadableCode 1주차 회고
클린 코드와 테스트 코드 작성 능력 향상을 위해 워밍업 클럽을 신청했다. 👋
혼자하는 것보다는 빠르게 성장하지 않을까 하는 기대감을 가졌다.
결과적으로 그냥 인프런을 수강할 때보다 두 배로 강의를 집중해서 빠르게 들을 수 있었다.
개인적으로 TIL 을 메모하려 했고, 미션을 통해 복습을 하니 강의를 습득하는걸 체감할 수 있었다.
🔢 클린코드의 첫번째 학습
Readable Code: 읽기 좋은 코드를 작성하는 사고법 - 박우빈
1주차 새롭게 배운 내용
추상 개념 잡기
추상 계층에 따라 어떻게 관리해야하는 지 이해하고, 클래스를 분리 할 수 있다.
void 는 피한다.
반환값은 테스트 코드에 도움이 된다.
Early Return 과 부정문 관리
부정문은 두번의 사고를 거쳐야 한다.
else if 는 이전 과정을 모두 기억해야 하는 장기 사고적인 부분이다.
점진적 리팩토링
다른 곳에서 참조되는 클래스를 한번에 바꾸는 것은 위험하다.
의도한 예외와 예상하지 못한 예외
try-catch 시, CustomException을 활용하여 예외의 경우를 나뉘어 관리한다.
NPE 를 조심하자!
외부에서 오는 값은 항상 의심하고 검증해야한다.
Setter 는 물론이고 Getter 도 참아보자
메서드를 활용해서 객체간 소통할 수 있다. getter 를 먼저 작성하지 말고 방법을 고민해본다.
클린코드를 실습과 함께 동시 진행하며, 빠르게 내용을 이해하고 습득할 수 있었다.
실무 관점에서 클린코드의 목적과 어떠한 방향으로 코드를 작성해야하는지 팁을 계속 알려주셨다.
💾 클린코드 실습 미션 과 SOLID
[Readable Code] 클린 코드 리팩토링 연습과 SOLID 원칙 정리
클린코드 미션 제출 코드
배울 때는 너무 잘 정리해주셔서 정답이 있는 듯 보이지만, 예제 코드를 직접 수정하니 주관적이고 판단하기 어려웠다.
강의를 들으며 정리한 메모를 한 줄씩 읽어보고, 예제 코드를 딱 보았을 때 맘에 들지 않는 부분을 정리했다.
배운 내용을 규칙처럼 적용하려 했고, 평소와 다르게 작성하려 노력했다.
저 짧은 예제 코드 하나 수정하는데 꽤 많은 시간이 들었다. 🥵
제출하고 나서도 '이게 최선일까?' 라는 생각이 많이 들었고, 좋은 코드를 찾아 보라는 말이 이해가 되었다.
나의 언어로 SOLID 정리하기
OCP : 개방 폐쇄 원칙
게임에 새로운 레벨이 추가된다고, 게임 로고가 바뀌지는 않는다.
게임에 새로운 스테이지가 추가 된다고, 튜토리얼이 바뀌지는 않는다. 기존 코드의 변경 없이 새로운 요구사항을 반영할 수 있어야 한다.
SOLID 를 이해하려면 앞으로도 몇개월이 걸릴 거라 생각했는데,
직접 정리하면서 개념을 다시 잡아보기도 하고 생각을 정리할 수 있었다.
배운 내용을 내 언어로 정리하니 기억도 잘되었다! 🧠
🤔 1주차 회고
세션이나 도서 등을 참고한 적은 많지만 내용을 직접 적용해본 경험은 없는 것 같았다.
클린 코드 학습은 막연하다고 생각했는데, 실시간 예제와 함께 강의를 들으니 너무 이해가 잘되었다.
매일 배운 내용을 나의 언어로 메모를 남겨 내 것으로 만들기 위해 노력하고 있다.
1주만 들었을 뿐인데, 코테를 연습하면서도 클린코드를 고민하게 된다.
클린 코드 학습을 고민하는 분이 있다면 박우빈님 강의를 추천한다!
댓글을 작성해보세요.