🔗 관련 링크
깃허브 링크
작성한 코드
⚙️ 구현 기능 목록
입력
로또 진행
로또 통계 출력
⛳ 피드백
@사이드 피드백
1.네이밍 컨벤션
2.결합도를 낮추자
- 추가구현한
add 메서드
도 일종의 setter
이다
3.상수화
- 상수 위치는 해당 상수가 쓰이는 곳인 편이 좋다
- 상수는
private
접근제어자로 처리
- Alt + Command + C
두번 누른 후 private
설정
4.검증 로직
validator
클래스를 따로 만들기보단,
- 해당 검증로직이 필요한 클래스 내부에 메소드를 만들자
5.정수 인풋받을 때 주의사항
new Scanner().nextInt()
사용 후
nextline()
으로 스캐너를 비워줘야 함
@DTO는 언제 사용할까?
- View에서 도메인 로직을 호출할 가능성이 있을 때
- 객체 자체를 넘기기보단, DTO를 넘길 수 있다
- 이외에도 판단기준을 고민해보자!!!
@표준 예외를 사용하자
- 기존 예외 안에서 해결 가능하다면 굳이 커스텀예외 사용 X
- 예외 메세지로도 충분히 메세지 전달 가능!
- 커스텀 예외 언제 사용하지?
- 예외메세지에 상세정보를 전달하고 싶을 때
- 예외 발생 후처리가 필요할 때
- stacTrace 간소화가 필요할 때
@상속 vs 조합
@안전하게 getter 사용하기(불변화)
- 자료구조 리턴 시 새로 만들어 수정가능성 차단
- copyOf()
메서드 사용하면 안전
- 그러나 리소스 문제... 비효율적일수도...
- 자료구조 안 데이터가
primitive
타입이거나 VO
인 편이 안전
@Controller 테스트 방법
- 인수테스트를 사용하면 됨
- ATDD
- 지금으로선 단위테스트로 충분
- 만약 컨트롤러에서 테스트할 부분이 많다면?
- 해당 코드를 도메인으로 분리해야 하는 신호!
- 두 인자를 받은 뒤, 특정 조건에 맞는지 확인할 수 있음
- Rank 클래스에서 사용함
- 이외에도 Consumer, Function 등...
-> 이후 게시물로 작성^^
🖋 소감
첫 미션보다 수월했다. 이후 맛보게 될 지옥은 꿈에도 모른 채...
글고 로또 당첨은 꿈도 꾸지 말자
사실 레벨1 방학 기념으로 포스트를 몰아쓰고 있기 때문에
당시의 기억이 흐릿하다^^;;
확실히 기억나는건 첫 미션인 자동차경주 때보단 막막함도 덜하고
우테코에 조금 익숙해지면서 막 재미를 붙였었다.
리뷰어의 피드백도 분량이 많지 않고(1,2단계 합쳐 20개 정도)
순한맛이었기 때문에
"나, 잘하고 있을지도...?" 라며 자만했다.
나름 이런저런 질문을 할 여유도 있었다.
이땐 우테코에 인생을 갈아넣는 느낌은 아니었고
저녁 6시까지 코딩 후 퇴근 시간되면 아싸 쉬어야지 하고 쉬었던듯.
이때 레벨1 추천도서도 읽고 그랬어야 하는데ㅠㅠ
그래도 3분 컵라면 스터디 들어간 건 좋은 선택이었다.(써머 최고🥺)