Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[디디] 온보딩 리뷰요청 #8

Merged
merged 10 commits into from
Feb 9, 2020
Merged

Conversation

fucct
Copy link

@fucct fucct commented Feb 7, 2020

감사합니다.

Copy link

@young891221 young891221 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

안녕하세요, 이번에 리뷰를 맡게 된 하비라고 합니다:)
요구사항을 잘 구현해 주셨네요 👍
몇 가지 코멘트 남겼습니다. 잘 부탁드립니다ㅎㅎ

private double result = 0;

void calculate() {
int length = InputValues.getValuesLength();

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

InputValues를 파라미터로 받도록 변경해 보면 어떨까요?
그렇게 했을 때 이점이 무엇일지 생각해 보세요:)


public class InputValues {
private static String value;
private static String[] values;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

필드에 데이터값을 담게 되면 멀티 쓰레드 환경 처리에서 문제가 있습니다.
이보다는 변수로 담아서 전달하도록 변경해 주세요.

value = scanner.nextLine();
values = value.split(" ");
validateDouble();
validateOperator();

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

한번만 돌아도 될 for문을 여러번 돌리고 있다는 생각이 듭니다. calculate()까지 합치면 3번을 돌리게 되는데 모두 한번에 처리할 수 있지 않을까 생각되네요:)

InputValues 의 메소드들과 변수를 static 에서 인스턴스 필드와 메소드로 변경
OutputView 작성을 통해 결과 출력 클래스를 만듬
Operator Enum 의 operate 메소드를 람다식의 BinaryOperator 를 이용해서 재작성
InputValues 의 Validation 방식 변경 (숫자와 연산자를 함께 검증하도록 만듬)
Calculator Test 의 테스트 방식 변경(올바른 입력값이 들어온 경우와 아닌 경우를 나눠서 검증)
CalculatorTest가 예상된 Exception 을 정확하게 catch 하도록 수정
Copy link

@young891221 young891221 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

리뷰 반영 굿입니다 💯
머지하도록 하겠습니다. 수고하셨습니다:)

}

return operate2((s, t) -> s / t, num1, num2);
}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

훨씬 깔끔하네요 👍

@young891221 young891221 merged commit f0e8326 into woowacourse:fucct Feb 9, 2020
Input 클래스 추가 - InputValue 의 필드를 포장
Input 클래스 추가로 인한 나머지 클래스 리팩토링
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants