Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
f0424ce
chore : 프로젝트 세팅
hongxeob Jun 7, 2023
76d8a18
chore : 프로젝트 세팅 (테스트 파일 설정)
hongxeob Jun 7, 2023
89fe199
chore : AssertJ 라이브러리 추가
hongxeob Jun 12, 2023
0996a5f
feat : Operators 클래스 구현 (연산자)
hongxeob Jun 12, 2023
ecf45dc
feat : Priority 클래스 구현 (우선 순위)
hongxeob Jun 12, 2023
f99c009
feat : PostfixConverter 클래스 구현(후위 표기식 변환기)
hongxeob Jun 12, 2023
e673165
feat : StringUtil 유틸 클래스 구현 (문자열 파싱,체킹 관련 클래스)
hongxeob Jun 12, 2023
6a65c0d
test : PostfixConverter 테스트 코드 작성
hongxeob Jun 12, 2023
34abe3a
feat : CalculationRepository 클래스/인터페이스 및 CalculationResult 객체 구현 (계산 …
hongxeob Jun 12, 2023
1bbf816
test : CalculationRepository 테스트 코드 작성
hongxeob Jun 12, 2023
dc3d04a
feat : Input,Output 인터페이스 / Console 클래스 구현 (입출력 기능)
hongxeob Jun 12, 2023
d397714
feat : Calculator 클래스 구현 (계산 기능)
hongxeob Jun 12, 2023
218160e
chore : 매개 변수화된 테스트를 위해 JUnit Jupiter Params 5.8.1 종속성 추가
hongxeob Jun 12, 2023
3f6a6dd
test : Calculator 테스트 코드 작성
hongxeob Jun 12, 2023
f8bcb0b
feat : ErrorMsg 클래스 구현 (에러 메시지 관리)
hongxeob Jun 12, 2023
e2c5d08
fix : putOperand()메서드 예외 유형 변경
hongxeob Jun 12, 2023
e11a959
feat: CalculatorRunner 클래스 구현 (계산기 구동)
hongxeob Jun 12, 2023
e7276a6
refactor : CalculatorRunner 클래스 이름 변경
hongxeob Jun 12, 2023
d8688d7
refactor : CalculatorTest 오타 수정
hongxeob Jun 12, 2023
c4189ed
feat : Main 클래스 구현
hongxeob Jun 12, 2023
5e9d621
fix : getOperator() 예외 유형 변경
hongxeob Jun 12, 2023
e8db59a
fix : getPriority() 예외 유형 변경
hongxeob Jun 12, 2023
0caa0d2
chore : 커스텀 예외 패키지 및 클래스 삭제
hongxeob Jun 12, 2023
63acaf6
refactor : 미사용 import 제거
hongxeob Jun 12, 2023
0cbd01a
refactor : pintError() 메서드명 변경
hongxeob Jun 12, 2023
88239e6
feat : 프로그램 종료 기능 구현
hongxeob Jun 12, 2023
eef98d0
style : 에러 메세지 정리 및 통일
hongxeob Jun 13, 2023
6379fd4
style : 에러 메세지 정리 및 통일
hongxeob Jun 13, 2023
d8400a7
refactor : CalculatorManager 인자 변경
hongxeob Jun 13, 2023
5a2f9f2
refactor : isOperatorCheck 메서드 인자명, 메서드명 명시적으로 변경
hongxeob Jun 13, 2023
cadabfb
chore : 패키지 구조 재설정
hongxeob Jun 13, 2023
8f9583d
refactor : PostfixConverter의 일부 메서드를 PostfixConverterHelper 객체로 분리
hongxeob Jun 13, 2023
048651e
style : PostfixConverter클래스의 주석 제거
hongxeob Jun 13, 2023
34d6872
refactor : 우선 순위를 가리는 비교 구문을 Priority 클래스에 위임, operator 인자 -> operato…
hongxeob Jun 13, 2023
1d7a426
style : 각각 요소를 뜻하는 numOrOperator를 token으로 이름 변경
hongxeob Jun 13, 2023
39eb058
refactor : try catch문 제거 후 정규식 사용, 인자명 명확하게 변경
hongxeob Jun 13, 2023
a983041
style : 우선 순위 범위를 여유있게 변경
hongxeob Jun 13, 2023
4177baf
refactor : Writer(Output), Reader(Input) 구현체 생성 후, Console 클래스에 추상체인 …
hongxeob Jun 13, 2023
9aa9710
refactor : 명시적인 calculateTop 메서드 생성
hongxeob Jun 13, 2023
1a85706
refactor : 명시적인 isNewOperatorPriorityLower 메서드 생성
hongxeob Jun 13, 2023
a133dfe
refactor : Writer(Output), Reader(Input) 구현체 생성
hongxeob Jun 13, 2023
9feb646
refactor : while(true) -> power를 넣어줌으로써 무한루프 방지
hongxeob Jun 14, 2023
ddf3617
refactor : println() 추가, 에러 메세지 수정
hongxeob Jun 14, 2023
a471903
refactor : output.print() 메서드 활용
hongxeob Jun 14, 2023
f7036b3
refactor : final을 붙여 각 메시지를 상수로 선언
hongxeob Jun 14, 2023
871e9e2
feat : Validator 구현
hongxeob Jun 14, 2023
6321921
refactor : Converter 인터페이스를 생성해 PostfixConverter 캡슐화
hongxeob Jun 14, 2023
8824513
refactor : PostfixConverter 테스트 코드 수정
hongxeob Jun 14, 2023
84d699d
refactor : AbstractConverter 인터페이스를 생성해 Calculator 캡슐화
hongxeob Jun 14, 2023
a39c737
refactor : AbstractCalculator 의존성 주입 수정
hongxeob Jun 14, 2023
07890c2
refactor : 생성자를 private으로 선언하여 클래스의 인스턴스화 방지
hongxeob Jun 15, 2023
1eb0f8c
refactor : 명확한 변수명으로 변경
hongxeob Jun 15, 2023
bfe3841
style : 에러 메세지 수정
hongxeob Jun 15, 2023
60b3fdb
refactor : 불필요한 private 메서드 간소화
hongxeob Jun 15, 2023
ae953b9
refactor : 리턴 타입, 파라미터 object 형태로 교체
hongxeob Jun 15, 2023
b9c4588
chore : 패키지 분류 변경
hongxeob Jun 15, 2023
f21b475
refactor : 파라미터 object 형태로 교체
hongxeob Jun 15, 2023
e5d1c83
refactor : CalculatorManager의 역할 분담 (SRP)
hongxeob Jun 15, 2023
b1c06c7
refactor : 오탈자 수정 및 변수명 직관적으로 변경
hongxeob Jun 15, 2023
d9d1de5
style : 코드 순서 변경
hongxeob Jun 15, 2023
fa16185
style : 개행 추가
hongxeob Jun 15, 2023
ae85279
refactor : 추상체와 구현체를 좀 더 명확한 네이밍으로 변경
hongxeob Jun 15, 2023
ce23bdb
refactor : 필드에 final 추가
hongxeob Jun 15, 2023
e4d7984
refactor : 유틸 클래스가 인스턴스화 되지 못하게 수정, null 체크 추가
hongxeob Jun 15, 2023
c67121b
refactor : 해당 메서드가 한번만 사용되므로 추출하지 않고 사용
hongxeob Jun 15, 2023
d923d2b
test : 클래스 삭제
hongxeob Jun 16, 2023
191cad9
refactor : 파라미터 명 통일
hongxeob Jun 16, 2023
52032d1
refactor : null체크 검사 추가
hongxeob Jun 16, 2023
186e74f
test : Calculator 클래스 테스트
hongxeob Jun 16, 2023
067aad3
test : Validator 테스트
hongxeob Jun 16, 2023
b860458
test : StringUtil 테스트
hongxeob Jun 16, 2023
4895bf1
test : 중복 코드 통일
hongxeob Jun 16, 2023
598b1c7
test : null 체크 테스트 추가
hongxeob Jun 16, 2023
3f33692
test : Priority 테스트 추가
hongxeob Jun 16, 2023
5de6ce2
test : Converter 테스트 수정
hongxeob Jun 16, 2023
208dc6b
test : 개행 수정
hongxeob Jun 16, 2023
84c2a12
refactor : 주석 삭제
hongxeob Jun 20, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
HELP.md
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/


### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
.DS_Store
.gradle
out/
!**/src/main/**/out/
!**/src/test/**/out/

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/

### VS Code ###
.vscode/
23 changes: 23 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
plugins {
id 'java'
}

group 'com.programmers'
version '1.0-SNAPSHOT'

repositories {
mavenCentral()
}

dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1'
testImplementation 'org.junit.jupiter:junit-jupiter-params:5.8.1'

testImplementation 'org.assertj:assertj-core:3.22.0'

}

test {
useJUnitPlatform()
}
Binary file added gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
5 changes: 5 additions & 0 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
234 changes: 234 additions & 0 deletions gradlew

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

89 changes: 89 additions & 0 deletions gradlew.bat

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading