본문 바로가기
우테코 6기 프리코스

[우테코] 4주차 회고

by ♡˖GYURI˖♡ 2023. 11. 23.

4주차 미션

4주차 미션은 크리스마스 프로모션이었다! 4주차는 이전 미션들과는 달리 기능 요구 사항이 이메일 형식이었다. 구어로 풀어진 요구사항들을 다시 정리한 후 기능들을 생각해야 해서 전보다 이 부분에서 오래 걸렸던 것 같다. 

 

<추가된 요구 사항>

  • 아래 있는 InputView, OutputView 클래스를 참고하여 입출력 클래스를 구현한다.
    • 입력과 출력을 담당하는 클래스를 별도로 구현한다.
    • 해당 클래스의 패키지, 클래스명, 메서드의 반환 타입과 시그니처는 자유롭게 구현할 수 있다.
public class InputView {
    public int readDate() {
        System.out.println("12월 중 식당 예상 방문 날짜는 언제인가요? (숫자만 입력해 주세요!)");
        String input = Console.readLine();    
        // ...
    }
    // ...
}
public class OutputView {
    public void printMenu() {
        System.out.println("<주문 메뉴>");
        // ...
    }
    // ...
}

 

이번 주에도 가장 어려웠던 것은 else문 사용하지 않기!! 3주차에도 해봤으니 4주차에는 괜찮겠지? 라고 생각했지만...

나를 가장 애먹였던 것이 else문 없이 구현하는 것이었다. 각종 오류가 이 부분에서 터졌었다ㅠ

 

 

 

기능 나누기

이메일 내용을 분석해서 나누어보았다.

  controller domain util view
Application OrderController Menu
MenuCategory
MenuItem
OrderDetail
BadgeCalculator
BeverageValidator
DDayDiscountCalculator
EventPeriodValidator
GitEventCalculator
LocalDateConverter
MenuQuantityValidator
OrderOrganizer
SpecialDiscountCalculator
TotalOrderCalculator
TotalPriceValidator
WeekdayDiscountCalculator
WeekendDiscountCalculator
BenefitsOutputView
EventOutputView
MessageOutputView
OrderMenuOutputView
InputView

 

최대한 기능을 나누어보았는데 다시 생각해보니 util을 너무 자잘하게 나누었나? 싶기도 하도 하다.

또 OutputView가 너무 길어지는 것 같아 목적에 따라 나누어보았는데 이 또한 굳이 나눈 것일까? 하는 고민이 된다.

 

 

 

부끄럽게도 4주차가 끝나고 에너지를 다 쓴 것인지 며칠을 아무것도 하지 못했다ㅠ...

(일주일이 지난 오늘에서야 겨우 PR링크를 올리고)

 

 

 

스스로에게 하는 피드백

  1. 일단 수고가 많았다!
  2. 앞으로 뭘 더 공부할 것인지 적극적으로 고민하고 찾아보자!
  3. DTO라던지... 새로운 것을 적용해보았으면 더 좋았을 것!
  4. 자바 기본 / 자바 응용 / 자바 코딩 문제 풀기 로 나누어 공부해보자!
  5. 우테코 프리코스가 끝이 아닌 것을 명심하자!
  6. 만약 본 코스에 붙지 못하더라도 스스로 공부할 길을 찾아나가자!

 

 

https://github.com/IM-GYURI/java-christmas-6-IM-GYURI/pull/1