[로또 - TDD] 1단계 문자열 계산기 PR 드립니다! by logantect · Pull Request #2370 · next-step/java-lotto · GitHub
Skip to content

[로또 - TDD] 1단계 문자열 계산기 PR 드립니다!#2370

Merged
bingbingpa merged 8 commits into
next-step:jeongjaeeomfrom
logantect:step1
May 2, 2022
Merged

[로또 - TDD] 1단계 문자열 계산기 PR 드립니다!#2370
bingbingpa merged 8 commits into
next-step:jeongjaeeomfrom
logantect:step1

Conversation

@logantect

Copy link
Copy Markdown

안녕하세요!
새로운 리뷰어님!

[로또 - TDD] 1단계 문자열 계산기 구현 완료 후 PR 드립니다!

리뷰 잘 부탁드릴게요!! :)

logantect and others added 8 commits April 29, 2022 16:57
덧셈 기능 구현
- Calculator 클래스 생성
- 연산자(operators)와 피연산자(operands) 구분
- 더하기 기능 구현

BREAKING CHANGE: 덧셈 기능 구현
뺼셈 기능 구현
- Add minus method

BREAKING CHANGE: 뺼셈 기능 구현
곱하기 기능 구현
- Add times method

BREAKING CHANGE: 곱하기 기능 구현
나누기 기능 구현
- Add divide method
- 복합 사칙연산 테스트 코드 추가

BREAKING CHANGE: 나누기 기능 구현
입력값이 null 및 공백문자열일 경우 예외 발생 처리
- 입력값 유효성 검증 구현 추가
- 연산자 상수값으로 대체 리팩토링
- 계산 메서드 분리 리팩터토

BREAKING CHANGE: 입력값이 null 및 공백문자열일 경우 예외 발생 처리
사칙연산 기호가 아닐 경우 예외 발생 처리
- OperatorFactory 클래스 추가 및 예외처리 구현
- Operator 인터페이스 추가
- 사칙연산 클래스 추가 및 인터페이스 구현
- Calculator 메서드 계산 로직 Operator 인터페이스로 위임

BREAKING CHANGE: OperatorFactory 클래스 추가 및 예외처리 구현
연산자 및 피연산자 추출 메서드 분리 리팩토링
- getOperators 메서드 분리
- getOperands 메서드 분리
- 숫자 정규식을 이용한 분리 로직 구현

BREAKING CHANGE: 연산자 및 피연산자 추출 메서드 분리 리팩토링
피연산자 포장 클래스로 리팩토링
- Operand 클래스 추가
- Operator int -> Operand 클래스로 변경

BREAKING CHANGE: 피연산자 포장 클래스로 리팩토링

@bingbingpa bingbingpa left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

안녕하세요. 정재님! 이번 로또 미션 리뷰어를 맡은 박승현입니다.🙇
첫번째 미션 잘 진행해주셨네요!👍
몇가지 피드백 남겨드렸는데 이건 다음 미션 진행하시면서
같이 한번 반영해보면 좋을거 같아요.
첫번째 미션은 바로 머지하도록 하겠습니다.
본격적인 로또 미션 시작하시죠!

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

여기도 final 을 붙여주면 좋을거 같아요.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

넵 감사합니다!

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

이러한 부분들을 enum 과 BinaryOperator, BiFunction 등을 활용하면
연산마다 클래스를 만들고 if 비교를 하지 않아도 연산을 할 수 있지 않을까요?
지금과 같은 형태라면 연산이 하나 추가 될때마다 변경되는 곳이 많이 발생할거 같아요.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

네네 enum 클래스를 사용할 생각을 못 했네요 다음 미션 때 반영해보겠습니다!

@bingbingpa bingbingpa merged commit 15245c1 into next-step:jeongjaeeom May 2, 2022
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.

2 participants