교육 및 책/TDD, 클린 코드 with Java7 TDD, 클린 코드 - 사다리 미션 3단계 - 사다리 GitHub - oneny/java-ladder: 사다리 타기 구현을 위한 저장소 사다리 타기 구현을 위한 저장소. Contribute to oneny/java-ladder development by creating an account on GitHub. github.com 기능 정리 User 5글자 이하인 name을 가진다. Users , 를 구분자로 사람 이름을 구분한다. 유저수를 반환한다. 유저목록을 반환한다. 위치에 해당하는 유저를 반환한다. 유저의 위치를 변경한다. Position 다음 포지션으로 이동 시 현재 포지션에서 +1을 한다. 이전 포지션으로 이동 시 현재 포지션에서 -1을 한다. 현재 포지션을 반환한다. Direction 첫 포인트에 대한 left는 false인.. 2023. 5. 18. TDD, 클린 코드 - 로또 미션 2단계 - 로또 GitHub - oneny/java-lotto: 로또 게임 구현을 관리하는 저장소 로또 게임 구현을 관리하는 저장소. Contribute to oneny/java-lotto development by creating an account on GitHub. github.com 기능 목록 핵심 기능 로또 번호는 1 이상 45 이하 로또 티켓은 6개의 로또 번호를 가진다. 당첨 로또티켓과 비교하여 맞춘 개수에 따른 로또 순위들을 반환한다. 로또 순위들을 통해 수익률, 순위 당 몇 개씩 맞췄는지를 출력한다. LottoNumber 1 이상 45 이하의 숫자 그 외의 숫자가 입력되는 경우에는 IllegalArgumentException throw 정적 팩토리 메서드, 인스턴스 캐싱을 통해 같은.. 2023. 5. 14. TDD, 클린 코드 - 로또(자동) 로또 자동 LottoNumber public class LottoNumber { public static final int LOTTO_MINIMUM_NUMBER = 1; public static final int LOTTO_MAXIMUM_NUMBER = 45; private static final String ILLEGAL_LOTTO_NUMBER_MESSAGE = "올바른 로또 번호를 입력해주세요. 입력된 번호 : "; private final int number; public LottoNumber(int number) { this.number = validatedLottoNumber(number); } public int number() { return number; } private int valid.. 2023. 4. 23. TDD, 클린코드 - 문자열 사칙연산 계산기 2번째 미션 - 로또, TDD 로또 미션 이전에 자동차 경주 5단계까지 마무리했는데 스프링이나 DB 공부나 과제 미션 클리어하는데 집중한다고 제대로 블로그를 작성하지 못했다.. 지금부터라도 제대로 작성해보자! 이번 첫 단계인 문자열 사칙연산 계산기는 좋은 피드백도 많이 받아서 기분이 좋다ㅎㅎ 문자열 사칙연산 계산기 Operand 클래스 public class Operand { private static final Pattern NUMBER_PATTERN = Pattern.compile("^[0-9]*$"); private static final String ILLEGAL_NUMBER_MESSAGE = "양수를 입력해주세요."; private final String operand; // 양수만 입력가능하다.. 2023. 4. 19. TDD, 클린 코드 - 자동차 경주 자동차 경주 피드백 Car public class Car { private int distance; public Car() { this.distance = 0; } public int distance() { return distance; } // 람다식으로 표현할 수 있도록 GameStrategy를 Funtional Inteface로 만들었는데 이 부분에 대해 따봉 받았다! // Predicate Interface와 고민했는데 movable 메서드로 좀 더 의도적으로 표현하기 위해 GameStrategy Interface를 만들었다. public void forward(GameStrategy racingStrategy) { if (racingStrategy.movable()) { distance++; }.. 2023. 4. 13. TDD, 클린 코드 - 문자열 덧셈 계산기 2단계 - 문자열 덧셈 계산기 StringAddCalculator class StringAddCalculator { private static final int ZERO = 0; private static final String RUNTIME_EXCEPTION_MESSAGE = "문자열 계산기에 숫자 이외의 값 또는 음수를 전달하는 경우 RuntimeException 예외를 throw한다."; private static final String ZERO_TO_NONE_REGEX = "^[0-9]*$"; private static final String DEFAULT_DELIMITER = "[,:]"; private static final Pattern CUSTOM_DELIMITER = Pattern.com.. 2023. 4. 8. TDD, 클린 코드 학습 테스트 TDD, 클린 코드 with Java 16기 시작 백엔드 개발자가 되자 목표를 하고 2주 동안 열심히 Java를 공부하고 박재성님의 TDD, 클린 코드 강의가 시작되었다! 물론 내가 들을 수준은 아니지만 하나라도 배우자는 마인드를 가지고 열심히 달려보자! 1단계 학습 테스트 자동차 경주를 시작하기에 앞서 선수 과제가 있었고, 이에 대한 피드백을 정리! String 클래스에 대한 학습 테스트 package study; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.pro.. 2023. 4. 5. 이전 1 다음