-
[우아한테크코스] Java 백엔드 프리코스 3주차 회고ヽ(✿゚▽゚)ノ 2022. 11. 17. 14:51
3주차 과제를 진행하며...
로또 과제를 진행하면서 막혔던 부분들과
얼렁뚱땅..해결하고 넘어갔던 부분을 공유하고자 합니다!참고로 저는 프로그래밍의 완전 초보로써,, 제 회고록(회고..라기보다 반성..에 가까운)이 그 누구에게도 도움이 안될 수도 있습니다..(안돼요 그냥 안돼요ㅎ)
이번 회차에서 새로 추가된 요구사항과 내가 그 요구사항을 활용한 방법은 다음과 같다.
1. enum을 활용한다. - 문자열을 모두 enum을 사용해 저장해 두었다.
2. 함수의 길이가 15라인이 넘어가지 않도록 구현한다. - 최대한 넘어가지 않게 구현했지만.. ....
(생략)3. else 예약어를 쓰지 않는다 - 힌트 처럼 if 안에서 return하는 방식으로 구현했다.
다른 추가된 요구사항(도메인 로직에 대한 단위 테스트)이 있지만 .. 충족하지 못했다..
(테스트 코드.. 손도 못대고 제출한 사람..)그리고 테스트 코드를 하루동안 통과하지 못해서 멘붕이 왔었는데...
void 예외_테스트() { assertSimpleTest(() -> { runException("1000j"); assertThat(output()).contains(ERROR_MESSAGE); }); }
저 assertThat을 찾아보니 ignore하는 예외가 IllegalArgumentException이 아니었기 때문에 만약 잘못된 문자가 들어와서 throw new IllegalArgumentException을 할 경우 저 예외 테스트를 통과하지 못했다.
그런데 요구사항에 IllegalArgumentException으로 예외를 처리하라고 했기 때문에 하루동안 머리를 싸매며 고민했는데.. 다른 방법이 있었겠지만... 나는 결국 저 assertThat이 무시하는 예외로 예외를 던졌다..
(그냥 돌려막는 방법으로.. 문제 해결 후 쓰레기 제출)내 ❣️쓰레기❣️를 통해 배운 점
도메인에서 단위 테스트를 진행하면서 배워가는 점이 있고 싶었지만 저 assertThat으로 머리를 부여잡고 있느라 테스트코드는 .. 작성하지 못했다 ㅎ ..
그리고 제출을 끝낸 후 많은 분들의 코드를 보는데 다들 클래스 분리와 패키지 분리를 야무지게 해놓으셨었다. 이번 회차에서도 클린코드, 리팩터링의 중요성을 배웠다.
그리고 도메인 분리에 대해서 생각을 하게 되었는데 MVC 모델에 대해서 접하게 되는 시간이었다. 뷰와 도메인(출력과 도메인)을 분리하는 것에 대해 방법을 계속 고민했었다.
무작정 분리를 하다보니 이 분리가 어떤 부분에서 의미가 있을까라는 질문을 던지게 되었다. MVC 모델을 접한적이 있었던 것이 기억났고 그에 대해서 다시 공부하는 기회를 가졌다.
공부하면서 참고한 블로그의 링크이다.
https://m.blog.naver.com/jhc9639/220967034588
3주차도 얼레벌레 과제 제출을 하고 마지막 주차로 달려가고 있는데, 스스로 아쉬운 점도 많고 좀 더 우테코에 집중할 수 있었으면 좋았을 것 같다는 생각을 한다. 그래도 많이 배워가는 기회를 가진 것 같아 기쁘다!
마지막 주차도 화이팅!! ヾ(≧▽≦*)o
'ヽ(✿゚▽゚)ノ' 카테고리의 다른 글
맥북사고 2달만에 올리는 MacOS 적응편: DS_store의 정체와 비활성화(?!) 방법 (0) 2023.01.26 [IntelliJ] Cannot resolve ... 오류 해결 (0) 2022.11.21 [Project] 가상착용 쇼핑몰 백엔드 설계 프로젝트 : 서버에 파일 업로드하기 (0) 2022.11.20 [우아한테크코스] JAVA 백엔드 프리코스 2주차 회고록 (0) 2022.11.13 [우아한테크코스] Java 백엔드 프리코스 1주차 회고록 (0) 2022.11.05