오늘은 아팠다. 어젯밤 잘 즈음부터 열이랑 어지럼증, 목부음이 있는 인후염이 있는데 점심때 타이레놀 먹으면서 좀 괜찮아지나 싶더니만 저녁때 몸이 엄청 무거워지면서 다시 아파서 저녁에 약 타와서 먹고 있다.. 그래서 전기장판 꺼내두고 옷도 겨울용으로 입고 있다,, 토요일에 코테 봐야 하는데 오늘 한 문제도 못 풀었네 ㅠ.ㅠ 저녁 먹고는 그냥 침대에 누워만 있었다.
낮에는 그래도 좀 정신이 있어서 클래스 설계를 열심히 고민해봤지만, 너무 어렵다 ㅋㅋ 생각만 계속하다가 안 끝날 것 같아서 코드를 적어가기 시작했다. 그리고 저녁 전에 일단 요구사항 중 옵션 빼고는 다 완성했다. 근데 좀 리팩토링 많이 해야 할 것 같아서 제출은 코테 끝나고 해 봐야겠다. 웃긴 게 클래스 다이어그램은 더 이상 어떻게 할지 모르겠어서 코드로 구현해 놓고 다 리팩토링 하고 그릴 생각이다 ㅋ
대충 적어본 클래스 다이어그램은.. 엉망진창이다. 일단 앞으로 뺄거나 앞으로 추가할 예정은 불투명도 10%로 해뒀다. 출력도 키오스크가 하다보니 코드가 비대하고 더럽다. 각 출력화면을 정의해 두고 출력 담당 객체를 따로 빼서 쓸 생각이다. 그리고 주문도 주문 진행이랑 주문 취소를 주문 처리기로 따로 빼서 넘기려는 시도를 하고 있다.
최초 메시지 출력과 그 입력만 키오스크가 받고, 받아온 번호를 토대로 각 처리기 (0번은 내부에서 할지 외부로 처리기를 뺄지 고민중..) 로 토스하는 형태로 가지 않을까, 싶다. 지금은 메뉴선택 처리기가 전부 담당하고 있는데, 이것도 메인메뉴랑 상품메뉴랑 (추후에 추가될 옵션까지) 넘기는 형태로 가지 않을까.. 싶다.
아 답변 받는 걸 또 enum으로 받는 것도 좋겠다. enum CheckInputType { YES(1), NO(2) } 해서 받고, 원래 카테고리 메뉴들도 숫자 없는데 다 넣어줘야겠다.
아 문제가 있었는데,
String.format("%15s | %20s\n", menuName, menuDescription);
[ CAFE MENU ]
1. 아메리카노 | ₩ 4.0 | 아메리카노 입니다.
2. 아인슈페너 | ₩ 5.0 | 아인슈페너 입니다.
3. 카페 라떼 | ₩ 4.3 | 카페 라떼 입니다.
4. 바닐라 라떼 | ₩ 4.5 | 바닐라 라떼 입니다.
5. 오레오 라떼 | ₩ 4.8 | 오레오 라떼 입니다.
이런 식으로 해줬는데 출력해보니 각각의 메뉴들의 "|" 부분이 위치가 몇 개(3번처럼)가 툭 튀어나왔다. 왜 그러지.. 보기가 심히 불편해서 꼭 고쳐야지..
아 다른 분들은 Gradle 로 프로젝트 만들어서 테스트 코드까지 적고 있다. ㄷㄷㄷ 어디서 뭐하다 오신 분들? 나도 다시 만들어야하나, 기존 자바 프로젝트에서 Gradle로 변경 가능한지 확인해 봐야겠다. 아니, 생각해보니 테스트 코드를 아직 적을 단계는 아니니 나중에 되면 그때 변경을 하든 다시 파든 해야겠다.
'TIL ✍️' 카테고리의 다른 글
23년 10월 23일(월요일) - 15번째 TIL (2) | 2023.10.23 |
---|---|
23년 10월 20일(금요일) - 14번째 TIL (1) | 2023.10.20 |
23년 10월 18일(수요일) - 12번째 TIL (2) | 2023.10.18 |
23년 10월 17일(화요일) - 11번째 TIL (0) | 2023.10.18 |
23년 10월 13일(금요일) - 10번째 TIL (0) | 2023.10.13 |