본문 바로가기
Back-End/자바 플레이그라운드 with TDD, 클린코드

자바 플레이그라운드 with TDD, 클린코드 - (1)

by 7533ymh 2022. 3. 10.

프로그래머스 백엔드 데브코스에 합격한 뒤 자바에 대해 리프레쉬? 해주기 위해 NEXTSTEP의 자바 플레이그라운드 with TDD, 클린코드 강의(https://edu.nextstep.camp/c/9WPRB0ys) 를 수강하게 되었다.

우테코 프리코스를 통해 많이 배운 만큼 유사한 커리큘럼인 해당 강의에서도 많은 것을 배워갔으면 좋겠다.

해당 강의를 듣고 정리하고 포스팅하고자 한다.

학습목표

  • GitHub을 활용해 미션 기반으로 학습하는 경험을 한다.
  • 컨벤션을 지키고, 읽기 좋은 코드 구현에 대한 필요성을 느끼고, 구현하는 경험을 한다.
  • 테스트 기반으로 리팩터링을 통해 점진적으로 클린코드를 구현하는 경험을 한다.

📖 객체 지향 생활 체조 원칙

객체 지향 생활 체조 원칙은 소트윅스 앤솔러지에서 다루고 있는 내용으로 객체 지향 프로그래밍을 잘하기 위한 9가지 원칙을 제시한다.

  1. 한 메서드에 오직 한 단계의 들여쓰기만 한다.
  2. else 예약어를 쓰지 않는다.
  3. 모든 원시 값과 문자열을 포장한다.
  4. 한 줄에 점을 하나만 찍는다.
  5. 줄여 쓰지 않는다(축약 금지).
  6. 모든 엔티티를 작게 유지한다.
  7. 3개 이상의 인스턴스 변수를 가진 클래스를 쓰지 않는다.
  8. 일급 컬렉션을 쓴다.
  9. getter/setter/프로퍼티를 쓰지 않는다.

이론만 안다고 해서 이를 설계와 구현에 녹여내기엔 매우 어렵다. 녹여내기위해서 지속적인 수련이 필요하다.
지속적인 수련을 위해 객체 지향 생활 체조 원칙은 구체적인 가이드를 제시하여 리팩토링할 부분(코드 스멜)이 있는 코드를 쉽게 찾을 수 있으며 도전할 수 있다.
위의 9가지 규칙을 항상 생각하고 수련하여 객체 지향 설계와 관련된 추상적인 이론들이 이해되는 시점까지 갈 수 있도록 노력하자!

클린코드는 왜 중요한가?

https://youtu.be/FSte4ht7jII

우리는 제대로 구현할 시간이 없다거나 다른 업무가 너무 밀려서 등 여러 이유를 대며 나쁜 코드를 짤 때가 종종 있다.
이러한 쓰레기 코드를 보며 나중에 손보겠다고 생각하고 그냥 방치하는 경우가 많다.
그러다보면 나쁜 코드들이 쌓이고 쌓여 팀 생산성이 떨어지는 현상이 발생하게 된다.
최악의 경우 기존의 똥덩어리(레거시)에 새로운 똥떵어리(재설계) 하나가 더 추가되면서 GG를 칠 것이다.
그렇기 때문에 처음부터 언제나 코드를 깨끗하게 유지하는 습관을 들여 깨끗한 코드를 만들 수 있도록 노력해야한다.

댓글