inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

워밍업 클럽 3기 BE - 발자국 1주 차

lch9502
0

1. 들어가며

원래 인프런 워밍업 클럽 스터디 1기를 신청하려고 했었는데 업무에 치이다보니 3기까지 미뤄졌네요.

테스트 코드 강의가 올라오자마자 바로 완강을 했었는데 정말 도움이 많이 돼서 꼭 한 번 인프런 워밍업 클럽 스터디를 해보자고 생각했었습니다.

이제 1주가 지났는데, 신청하길 잘했다고 생각합니다.

특히 다른 러너분들 미션을 보는데 역시 고수분들이 많더라구요?

혼자 공부하는 것 보단 같이 하는게 성장하는데 도움이 된다는 사실을 또 한 번 느꼈습니다.

 

2. 학습했던 내용 나만의 키워드로 작성하기


섹션 2. 추상

image

섹션 3. 논리, 사고의 흐름

image

 

섹션 4. 객체 지향 패러다임

image

섹션 5. 객체 지향 적용하기

image

 

3. 학습 회고


평범한 기업에서 소위 말하는 좋은 코드를 작성하는 개발자는 생각보다 희귀한 것 같습니다.
아쉽게도 시간에 쫓기기 때문이겠죠. 저 역시 시간이 없어 기능 구현만 마무리하고 리팩토링은 뒤로 미루는 경험을 했었고, 지금도 하고 있습니다.
후에 리팩토링을 하면 좋겠지만 대부분의 개발자들은 뒤를 돌아볼 시간이 없죠.
그래서 혼자 리팩토링을 하더라도 좋은 코드를 보고 배울 기회가 굉장히 적습니다.
결국 혼자 보는 시야는 한계가 있기 때문에 어느 순간 갇히는 느낌을 받죠.

강의에서는 코드를 순차적으로 바꿔나갑니다.
메서드 명부터 SOLID를 적용하는 법까지 어떤 코드가 좀 더 나은 코드인지 방향을 제시하죠.
그래서 시야가 넓어진 느낌을 받았습니다.
다른 사람이 작성한 코드를 볼 수 있었기 때문이죠. 객체 지향 언어만 사용한 코드가 아니라 객체 지향으로 작성한 코드를요.

기회가 있을 때마다 조금씩 적용을 해볼 생각입니다. 그래서 추상화를 적용해 읽기 좋은 코드가 되도록 노력해야겠습니다. 😄

 

4. 미션 회고


미션 Day 2

강의를 듣기 전 미션부터 확인을 했습니다.
미션을 보자마자 '책'이 좋은 예시라고 생각했었는데 강의에서 바로 언급해서.. 😂

무슨 예시가 있을까 생각하다가 사실 추상구체는 거의 모든 곳에서 사용된다고 결론을 내렸습니다.
보통 어떤 행동을 한 후에 자세하게 말을 하는 경우보단 간략하게 의도만 파악하도록 말하기 때문이죠.
그래서 음식을 먹는 행동을 예시로 미션을 제출했습니다.

 

미션 Day 4

미션 Day 4

미션 코드를 보자마자 코드가 씁.... 물론 실무에는 이것보다 정도가 심한 코드도 훨씬 많긴 합니다.

중복 분기문과 부정 연산자를 포함한 조건식을 리팩토링해서 한 눈에 보이도록 처리했습니다.
추가로 개인적으로도 Early return은 코드를 깔끔하게 만들어준다고 생각합니다. 저도 실무에서 코드를 작성할 때 else문을 잘 쓰지 않게 되더라구요.

하지만 글을 쓰면서 아쉽다는 생각을 했습니다.
"Order 객체 안에서 검증 로직을 처리할까?"하다가 미션의 의도에 벗어나나 싶어서 메서드만 작성했는데요,
회고를 작성하면서 미션을 다시 읽어보니 원하는 것은 Order를 파라미터로 넘겨서 처리하는 게 아니라 Order 객체 안에서 검증로직을 만들라는 것 같다는 생각이 들었네요.

 

SOLID에 대하여 자기만의 언어로 정리하기는 개인적으로 의미가 있던 미션이였습니다.
좋은 코드를 작성하기 위해서 계속 SOLID에 대한 고민을 하고 있었거든요.
머릿속으로 생각만 하고 있었는데 글로 정리를 하니까 좀 더 선명해지는 느낌을 받았습니다.

그리고 강의의 리팩토링되는 코드를 보면서 제가 생각했던 방향과 얼추 맞았다고 보여져서 다행이였습니다. 😃

 

백엔드 3기 백엔드 클린코드 워밍업클럽 발자국

답변 0