-
Notifications
You must be signed in to change notification settings - Fork 50
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
안녕하세요, 이번에 리뷰를 맡게 된 하비라고 합니다:)
요구사항을 잘 구현해 주셨네요 👍
몇 가지 코멘트 남겼습니다. 잘 부탁드립니다ㅎㅎ
src/main/java/Calculator.java
Outdated
private double result = 0; | ||
|
||
void calculate() { | ||
int length = InputValues.getValuesLength(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
InputValues
를 파라미터로 받도록 변경해 보면 어떨까요?
그렇게 했을 때 이점이 무엇일지 생각해 보세요:)
src/main/java/InputValues.java
Outdated
|
||
public class InputValues { | ||
private static String value; | ||
private static String[] values; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
필드에 데이터값을 담게 되면 멀티 쓰레드 환경 처리에서 문제가 있습니다.
이보다는 변수로 담아서 전달하도록 변경해 주세요.
src/main/java/InputValues.java
Outdated
value = scanner.nextLine(); | ||
values = value.split(" "); | ||
validateDouble(); | ||
validateOperator(); |
There was a problem hiding this comment.
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 하도록 수정
There was a problem hiding this 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); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
훨씬 깔끔하네요 👍
Input 클래스 추가 - InputValue 의 필드를 포장 Input 클래스 추가로 인한 나머지 클래스 리팩토링
감사합니다.