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

인프런 워밍업 클럽 4기 BE 스터디 2주차

인프런 워밍업 클럽 4기 BE 스터디 2주차

💻 강의

Readable Code: 읽기 좋은 코드를 작성하는 사고법

 

📚 학습

주석

  • 주석이 많다는 것은 비즈니스의 요구사항을 코드에 잘 못 녹였다는 것

  • 코드를 설명하는 주석은 코드가 아닌 주석에 의존한 것

  • 주석에 의존하여 코드를 작성하면 적절하지 않은 추상화 레벨을 갖게 돼 낮은 품질의 코드가 만들어질 수 있다


언제 주석을 사용해야 할까?

  • 후대에 전해야 할 의사 결정의 히스토리를 코드로 표현할 수 없을 때 상세한 설명이 필요하기 때문에 이때 주석이 필요하다

     


주석 작성

  • 주석을 작성할 때, 자주 변하는 정보는 지양한다

  • 코드가 변경되면 주석도 같이 업데이트 해야 하기 때문에 주석이 없는 코드보다 부정확한 주석이 달린 코드가 더 치명적이다


좋은 주석

  • 최대한 코드에 녹여내고, 코드로 표현 못하는 정보를 전달해야 할 때 주석을 사용한다


예외 검증 테스트 코드

  • assertThatThrownBy

  • isInstanceOf

  • hasMessage

assertThatThrownBy(() -> cafeKiosk.add(americano, 0))
        .isInstanceOf(IllegalArgumentException.class)
        .hasMessage("음료는 1잔 이상 주문하실 수 있습니다.");

회고

지금은 컨트롤러에만 주석을 남기거나 학습이 중점인 개인 프로젝트에만 주석을 남기는 편이다

하지만 예전에 팀 프로젝트를 할 때는 코드마다 주석을 남겼고, 클린 코드에 관심을 가지게 되면서 코드를 최대한 간결하게 작성하려고 하는데, 주석을 남기는 게 맞는지 의문이 생겨 부트캠프 튜터님들과 알고 지내는 주니어 개발자 분들에게 질문을 드린 적이 있다

튜터님들이 생각하시는 클린 코드는 학습 내용처럼 주석 없이 최대한 코드에 녹여내는 것이 클린 코드라고 하셨고, 주니어 개발자 사이에서는 의견이 각각 달랐다

아무래도 주위에 미들이나 시니어 개발자 보다는 같은 주니어 개발자가 대부분이기 때문에 의문점이 생기면 학습을 통해 배우거나 나보다 경험이 많은 개발자 선배들에게 물어보는 것이 최고인 것 같다

튜터님들께 질문을 드려 피드백을 받았다고 해도 주변 주니어 개발자 분들과 마주칠 일이 많다 보니 주석에 대한 혼란이 조금은 남아있었는데 학습을 통해 주석에 대한 의문점이 완전히 풀렸다

 

상황에 따라 다르겠지만, 내가 배운 내용에 대해 자신감을 가져야겠다

아는 것이 힘이다!

 

🎯 미션

  • 리팩토링 한 단계마다, 그 이유를 설명할 수 있어야 한다


회고

리팩토링 전 코드를 처음 봤을 때, 되게 복잡해 보이고 리팩토링이 꼭 필요한 코드라고 생각했다

내가 처음부터 작성한 코드가 아닌, 다른 사람의 코드를 내가 이해하고 리팩토링을 해야 된다는 것에서 어떻게 시작해야 할지 망설여지고 어려움을 느꼈다

그리고 복잡한 코드를 보며 협업에서 클린 코드는 꼭 필요한 부분이라고 생각하였다

일단은 어떻게 리팩토링을 해야 할지 도전하는 마음으로 시작하였지만, 어떤 흐름대로 구성해야 할지 감이 잘 잡히지 않았다

기능 구현을 하는 것보다 클린 코드로 리팩토링 하는 것이 더 어려운 것 같다

클린 코드를 잘하기 위해서는 많이 해보는 수밖에 없는 것 같다

댓글을 작성해보세요.

채널톡 아이콘