forked from woowacourse-precourse/java-calculator-7
-
Notifications
You must be signed in to change notification settings - Fork 0
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
[문자열 덧셈 계산기] 정재우 미션 제출합니다. #1
Open
holyPigeon
wants to merge
116
commits into
InQ-InQ-InQ-InQ-InQ:main
Choose a base branch
from
holyPigeon:holyPigeon
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
사용자 입력 관련 클래스
계산 기능 관련 클래스 생성
덧셈에 사용될 숫자 목록 필드 추가
사용자 출력 관련 클래스
계산 관련 Model과 View를 관리하는 클래스
클래스의 필드로 있는 구분자 목록을 사용하면 되므로, 필요없는 구분자 목록 파라미터를 제거
input 필드 제거에 따라 기존에 생성자 내에서 진행됐던 전처리, 검증 로직들의 다수가 메서드로 이동
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
✋ 코드 리뷰를 시작하며
직설적인 피드백
을 부탁드립니다!저는 욕 먹는 게 너무 좋습니다.망설이지 말고 여러분의 의견을 말해주세요!링크를 공유
해주세요!📦 패키지 구조
. ├── Application.java ├── config │ ├── ApplicationConfig.java │ ├── CustomDelimiterPattern.java │ └── DefaultDelimiter.java ├── controller │ └── CalculatorController.java ├── exception │ └── ErrorMessage.java ├── model │ ├── Calculator.java │ ├── InputFilter.java │ └── delimiter ├── validation │ └── InputValidator.java └── view ├── InputView.java ├── OutputView.java └── PrintMessage.java
🚀 기능 구현 목록
1️⃣ 사용자 입력
Console
API를 통해 사용자 입력을 진행합니다.InputFilter
객체로 전달한 후, 사용자 입력을 종료합니다.2️⃣ 입력값 필터링
CustomDelimiterProcessor
클래스를 통해 이를 따로 빼서 기존 구분자 목록에 저장합니다.Calculator
클래스를 통해 계산됩니다.3️⃣ 계산기
🤔 신경 쓴 요소
✅ 읽기 쉬운 코드를 작성하기 위해 노력했습니다.
(특히 변수 & 메서드 네이밍 쪽 부탁드립니다..)
✅ 책임 분리를 위해 노력했습니다.
CalculatorController
만 74라인이네요...😂)✅ 불변 개념을 적용하기 위해 노력했습니다.
unmodifiableSet()
을 활용하였습니다.✅ 꼼꼼한 검증 과정을 거치려 노력했습니다.
ErrorMessage
를 확인해보시면 제가 대비한 예외 상황들에 대해 확인하실 수 있습니다! 혹시 빠뜨린 경우가 있다면 조언 부탁드립니다 😀