public void leftLabelSetting() {
Random random = new Random();
orders = random.nextInt(5) + 1;
leftMainPanel.add(new JLabel(orders + "개의 주문이 들어왔습니다. 순서대로 음식을 준비해주세요."));
ArrayList<Food> foodArrayList = new ArrayList<>(foodList);
for (int i = 0; i < orders; i += 1) {
int index = random.nextInt(orders - i);
foodOrderList.add(foodArrayList.get(index));
foodOrderPriceSum += foodOrderList.get(i).getFoodPrice();
leftMainPanel.add(new JLabel((i + 1) + ". " + foodArrayList.get(index).getFoodName()));
foodArrayList.remove(index);
}
}
랜덤에 관해서 리팩토링 한 후 테스트코드를 사용해보려고 노력했으나 끝까지 안됐다. 그 이유는 랜덤은 애초에 테스트코드 작성하기가 매우 까다롭다는 것이다.
또한 딜리버리 타이쿤의 프로그래밍 중 주문 부분에 대해서 리팩토링 하려는데 계속 널값이 발생했다. 그 이유는 주문클래스에 패널과 레이블을 넣어버렸다. 패널과 레이블은 주문 부분에서 아무 상관이 없는데 말이다. 리팩토링을 할 때는 내가 어떠한 기능을 사용할지 생각하고 무엇을 집어넣어야할지 생각하고 실행하자.
'TIL' 카테고리의 다른 글
Day39(정수제곱근판별,Math.pow,Math.sqrt) (0) | 2023.03.13 |
---|---|
Day38(pipe token 에러메세지, List /ArrayList 사용 사이) (0) | 2023.03.12 |
Day36() (0) | 2023.03.09 |
Day35(퀘스트 하면서 겪은 참조형타입 비교, 자바의 특징,JVM,Lamda,추상화) (0) | 2023.03.08 |
Day34(반복문을 사용하는 경우) (0) | 2023.03.07 |