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

인프런 워밍업 클럽 백엔드-code 2주차 발자국

인프런 워밍업 클럽 백엔드-code 2주차 발자국

학습 요약 & 회고

읽기 좋은 코드와 객체 지향

이전에는 읽기 좋은 코드와 객체 지향과 관련이 없다고 생각했다.

객체 지향은 그냥 프로그래밍의 하나의 방법이자 개념이라고 생각했다.

늘 코드를 작성하기 전에 객체가 어떤 것이 있는지 식별하고 어떤 관계를 가지고 이런 것에 집중했던 것 같다.

 

하지만 이번 강의를 들으며 놀라운 경험을 했다.

객체 지향적으로 짤 수록 더 읽기 좋은 코드가 되는 것을 느꼈다.

SOLID 원칙도 왜 중요한지 깨닫게 되었다.

SOLID 원칙을 지키지 않고 여러 책임이 혼재된 코드는 당연히 읽기 어려울 수 밖에 없다.

 

그리고 이전에 이펙티브 자바 책을 읽으며 '아 이런 것이 자바로 코딩할 때 좋은 점들이고 기술이구나' 이정도로 생각했다.

왜 상속보다 조합이 좋은지, 일급 컬렉션을 사용해야 하는지 잘 모르고 그냥 유지보수하기 좋으니까, 상속은 결합도가 높으니까 이렇게 받아드렸다.

그렇다 보니 이펙티브 자바를 이해할 때 어려움이 있었고 잘 기억에도 남지 않았던 것 같다.

 

이번 강의를 들으면서 이펙티브 자바에 나왔던 개념들을 적용하며 읽기 좋은 코드가 되는 것을 보았다.

이렇게 객체지향의 개념을 적용하니 코드가 읽기 더 수월해짐을 느꼈다.

그러면서 다시 이펙티브 자바를 읽어보고 어떻게 적용해 읽기 좋은 코드를 작성할 수 있을지 고민해봐야 겠다.

 

미션

Day 7 미션 : 스터디 카페 키오스크 프로그램을 읽기 좋은 코드로 바꾸는 미션

 

우선 section 2, 3에서 배운 간단한 리팩토링을 진행하려고 했다.

if-else문을 피하고 빠른 return을 하려고 했다.

또한 공통적인 코드들이 보여 메서드로 추출하려고 했다.

 

if문으로 패스 종류에 따라 분기되던 것들을 메서드로 추출했다.

하지만 마지막 locker 관련된 부분이 달라 어려움을 겪었다.

어찌저찌 메서드로 패스 종류 받도록 추출하기는 했지만 뭔가 억지스러운 것 같다.

 

하지만 아직 객체지향을 적용해 읽기 좋은 코드로 만들기는 익숙하지 않은 것 같다.

리팩토링한 코드가 여전히 여러 책임을 가지고 관심사가 모여 있는 느낌이다.

하지만 어떻게 분리를 해야 할지, 어떻게 객체지향적으로 메시지를 주고 받게 할지 잘 보이지 않는 것 같다.

 

지뢰 찾기를 다시 강의를 보며 리팩토링 해보고 한번 더 새롭게 리팩토링에 도전해 봐야 겠다.

댓글을 작성해보세요.

채널톡 아이콘