인프런 워밍업 클럽(클린코드, 테스트) - 1주차 발자국
[Readable Code: 읽기 좋은 코드] 발자국
박우빈님의 읽기 좋은 코드강의를 수강했고, 마침 워밍업 클럽 스터디가 열려서 참여하게 되었다.
수강했던 내용을 한번 더 복습하면서 체화시켜보고, 놓쳤던 부분들을 복습하기 위해서였다.
목표했던 봐와 같이 한번 더 들으면서 학습하니까 전에 놓쳤었던 부분들이 보였고, 실습과 함께하니까 코드를 보는 실력이 향상됨을 느꼈다.
1주차의 핵심 내용은 아래와 같았다
추상
사고의 흐름
객체지향 패러다임
머리속에서 이해하고 있던 내용을 직접 실습해보며 진행했다.
기존에 개인적으로 학습하던 자바프로그래밍 학습 저장소에, 직접 배운 내용을 적용해보면서 진행하였다.
강의에 나오는 예제를 보면서 실습하면, 나도 모르게 나의 사고가 아닌 배운 내용을 외워서 하는 실습이 될 것이라고 생각했기 때문이었고, 실제로 직접 고민하는 시간을 많이 가질 수 있어서 좋았다.
과제는 1주차에 2회 진행하였다.
[Day2 과제]
주소창에 www.google.com 을 입력했을 때 화면이 출력되기까지의 과정을 구체레벨로 표현하면?
위의 문장으로 내 과제를 제출했다.
기본적인 네트워크 동작이지만 내부적으로 많은 구체적인 작업들이 이루어져있기 때문에 추상에 잘 어울리는 예시였다고 생각한다.
또한 저 문장을 살펴보면서 한번 더 네트워크에서 이루어지는 동작에 대해 깊게 생각해보고 학습해볼 수 있었다.
[Day4 과재]
https://github.com/Jeongjjuna/inflearn-warming-up-club/blob/main/src/main/java/day4/Main.java
위와 같이 과제를 제출하였고, 중점적으로 생각한 내용은 아래와 같다.
if-else의 복잡성을 최대한 단순화하고, 가능하면 빠르게 리턴하자.
메서드명을 의미있게 작성하자.
상수를 분리하자.
Order 객체에세 메세지를 던져서 내부에게 물어보는 방식으로 구현하자.
주된 과제의 목적인 사고의 흐름을 막지않고 최대한 물 흐르게 코드를 읽기 쉽게 작성하는 것이 목적이었다고 생각한다.
그 과정에서 내가 아는 지식들, 그리고 강의에서 들었던 여러 내용들을 적용하려 노력했다.
마무리
마지막으로 과제를 진행하고 실습하는거에만 몰두하지 말고, 함께 공부하는 학습원들의 학습 블로그를 많이 찾아보고 싶다고 생각이 들었다.
중간중간 다른분들의 과제를 보며 이렇게도 할 수 있구나 하는 생각이 많이 들었었고, 이번주는 많은 분들의 코드를 보지는 못했지만, 많이 찾아볼 수 록 좋은 경험, 좋은 인사이트를 얻을 수 있을 것 같다.
다음주는 2주차로 읽기 좋은 코드 마지막인데, 그동안 봐왔던 강의내용을 모두 적용해보려고 노력해봐야겠다. 화이팅!
댓글을 작성해보세요.