그동안은 단순하게 자바를 입문하면서 여러가지 분기 처리 반복문, 변수와 타입 등에 익숙해졌다면 이제는 슬슬 클린코드와 객체지향에 대해 들어가기 전에 준비를 해야한다.
왜 객체지향 생활체조를 알아야 하는가? 객체지향이라는 추상적인 개념을 이해하기 위해서는 많은 시간이 걸리고 높은 진입장벽이 있다. 따라서 구체적인 행동을 바탕으로한 원칙들을 제시하게 되었고 확실하게 지키면서 개발하면 어느정도 객체지향의 이점을 얻어갈 수 있을 수 있다. 추후에 왜 이런 원칙들이 나오게 되었는지 이해하면서 객체지향을 이해하는 것이 빠르다.
아직은 클래스에 대한 이해를 하지 못하였고 해당 미션에서 사용할 필요가 없으니 규칙 1, 2, 4, 5만 체화시키도록 해본다.
- 규칙 1: 한 메서드에 오직 한 단계의 들여쓰기(indent)만 한다.
- 규칙 2: else 예약어를 쓰지 않는다.
규칙 3: 모든 원시값과 문자열을 포장한다.- 규칙 4: 한 줄에 점을 하나만 찍는다.
- 규칙 5: 줄여쓰지 않는다(축약 금지).
규칙 6: 모든 엔티티를 작게 유지한다.규칙 7: 3개 이상의 인스턴스 변수를 가진 클래스를 쓰지 않는다.규칙 8: 일급 콜렉션을 쓴다.규칙 9: 게터/세터/프로퍼티를 쓰지 않는다.
- 한 메서드에 오직 한 단계의 들여쓰기(indent)만 한다.
- 주의!: for문 안에 if문이 있다면 indent가 2단계인 것이다.
- else를 사용하지 않는다.
- else 대신 무엇을 써야할까? 힌트: early return
- 한 줄에 점을 하나만 찍는다.
- 줄여쓰지 않는다.(축약금지)
- 예) scanner(o) sc(x) / index(o) idx(x)
- 함수(메서드)의 본문이 10줄을 넘지 않게 한다.
- 커밋을 할 때 커밋 메시지 컨벤션을 지킨다.
- 참고
- 잘못된 커밋 메시지 예) 미션 구현 완료
- 예) feat: Car 객체는 이름을 가진다.
- 아래 명시된 컨벤션에 맞게 변수명, 함수명을 지정한다.
미션은 5일동안 풀고 제출한 뒤 코드리뷰를 받기 위해 Pull-Request를 보낸다.
- 미션 레포지토리를 fork 한다.
- fork한 레포지토리를 사용하는 IDE에서 열어 미션을 해결한다.
- 미션을 전부 완료한 후 자기 이름에 해당하는 branch에 Pull-Reqeust를 보낸다.
- Pull-Reqeust를 보낸 후 단톡방에 태그하면서 리뷰요청을 보낸다.
아래의 7가지 기능 요구 사항을 모두 해결해야 한다.