🔥딱 8일간! 인프런x토스x허먼밀러 역대급 혜택

[워밍업 클럽 4기 BE] 1주차 발자국

[워밍업 클럽 4기 BE] 1주차 발자국

강의

강의명: [Readable Code: 읽기 좋은 코드를 작성하는 사고법]

학습 내용: 섹션1. ~ 섹션5

클린 코드를 지칭하는 수많은 원칙과 조언들이 존재한다. 강의를 통해서 이러한 원칙과 조언만을 배울 뿐만 아니라 “왜 지켜야 하는가?”를 배울 수 있는 시간이었다. 그중에서도 가장 기억에 남는 부분은 다음과 같다.

사고의 depth 줄이기

중첩 분기(반복) 문에서 depth를 줄인다는 것이 "무조건 1 depth로 만들어라."가 아닌 추상화를 통한 사고 과정의 depth를 줄이는 것이 목적이라는 것이다. 무작정 depth를 줄이는 것을 주목적으로 삼으면 오히려 복잡도가 높아져 혼선을 줄 수 있다.

getter와 setter를 대하는 자세

예전에는 나는 객체를 생성하는 동시에 항상 getter와 setter를 만들어 사용했었다. 그저 편하다는 이유 하나만으로

이번 강의를 통해서 그동안 나의 방식이 가져올 수 있는 문제점을 배우고 고칠 기회를 얻었다.

  • setter가 필요하다면 set 대신 update처럼 의도를 드러내는 네이밍을 선정

  • getter를 사용하려고 한다면 외부에서 데이터를 왜 필요로 하는지 생각해 보고 객체에 물어볼 수 있지 않을까?

SOLID

객체 지향을 학습하면서 설계의 5원칙이라고 하면서 그냥 외우던 것을 실제 코드로 어떻게 녹이는지, 어떤 상황에 위배되고 문제가 발생할 수 있는지 학습할 수 있는 이번 주 학습 내용 중 가장 기억에 남는 부분이다.

차주 학습 계획

중간중간 기록하여 이해되지 않은 부분을 다시 찾아보고 하느라 강의 시간만 보고 계획을 세워 기존 계획보다 많은 시간을 소모하게 된 부분이 아쉬웠다. 실습 부분이 강의를 수강하면서 같이 진행하여 강의를 더욱 재밌게 수강하였다. 하지만 강의 내용을 온전히 나의 것으로 습득했는가에 대한 의문과 아쉬움이 남는 한 주였다. 앞으로 강의 수강 계획을 강의 시간보다 여유 있게 계획하여 일정을 여유 있게 소화하도록 보완해 나갈 계획이다. 또한, 차주부터 실습 부분은 강의 없이 스스로 진행해 보는 시간을 마련해 볼 계획이다.

미션

이번 주는 총 두 가지 미션을 진행했다. 첫 번째로 우리가 일상에 자연스럽게 녹아있는 추상을 구체화해 보는 미션으로 둘째로 SOLID를 스스로 정리해 보는 시간을 갖는 것과, 예제 코드를 리팩터링하여 추상화하는 미션이었다. 스스로 정리해 보는 시간은 단순히 무언가를 배운다는 것에 그치지 않고 한 번 더 생각하고 정리할 수 있는 시간이 그동안 나에게 얼마나 부족했고 중요한 순간인지를 알려주는 소중한 기회였다. 또한, 리팩터링 미션은 추상화 레벨, 그리고 메서드의 좋은 이름, 도메인 관점에서 바라보는 방식 등 코드를 다양한 시각에서 바라볼 수 있는 미션이었다.

댓글을 작성해보세요.

채널톡 아이콘