import java.util.Arrays;
import java.util.Collections;
public class LottoMachine {
해당 객체가 가지고 있는 역할이 굉장히 많은 것 같아요 🤔
적절한 책임을 나누어 객체를 분리해보면 좋겠습니다!
public class LottoMachine {
private static String[] lastLottoNumArray;
private static ArrayList<String> lottoNumberList = new ArrayList<String>(Arrays.asList("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42"));
로또 번호가 42까지 밖에 안보이네요 @_@
또한 값의 범위가 커질수록 하드코딩 하는 것이 힘들어질 수 있기 때문에 범위를 통해 번호를 생성해보면 좋을 것 같아요!
public LottoMachine(String lastLottoNum, int numOfLotto) {
this.lastLottoNumArray = checkValidInput(lastLottoNum);
this.numOfLotto = numOfLotto;
}
인스턴스에서 클래스 변수를 초기화하도록 설계하신 이유가 있을까요?
static 키워드가 어떠한 역할을 하는지 공부해보아요
static 클래스의 경우 final 키워드와 같이 작성해주는 것이 관례인데, 왜 이러한 관례가 생겼을지를 바탕으로 공부해보면 도움이 될 것 같습니다 :)
private static final int COUNT_OF_LOTTO = 6;
private static int numOfLotto;
private static int[] matchedLottoRecordArray = new int[COUNT_OF_LOTTO+1];
private static ResultView resultView = new ResultView();
InputView의 경우 LottoApp에서 사용하고 ResultView의 경우 도메인 내부에 존재하도록 구현해주셨네요!
도메인 내부에 View의 로직이 존재한다면 어떠한 문제가 있을지 고민해보아요
'강의 > TDD, Clean Code with Java 12기' 카테고리의 다른 글
[로또] step2 - 로또(자동) - 피드백 및 피드백 반영(21일차) (0) | 2021.08.09 |
---|---|
[로또] step2 - 로또(자동) - 피드백 반영(20일차) (0) | 2021.08.08 |
[로또] step1 - 문자열 덧셈 계산기 - 피드백(20일 차) (0) | 2021.08.08 |
[로또] step2 - 로또(자동) (18일차) (0) | 2021.08.06 |
[로또] step2 - 로또(자동) (17일차) (0) | 2021.08.05 |