Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

java-calculator-precourse

기본 원칙

커밋 표준

일반적으로 인터페이스 - 테스트 - 구현 순서로 진행한다.

feat(인터페이스): implement (구현한 메서드)

- (관련 테스트 메서드 나열...)

1. 요구사항 정리

입력부터 출력까지 자료형의 변환으로 논리적 흐름을 표현한다.
필요하다면 임의의 자료형을 새롭게 정의할 수 있다.

  • 문자열(+분리 규칙) -> 숫자 배열 -> 숫자(덧셈 결과)
  • String + ParseRule -> Iterable<Number> -> Number

2. 객체 설계

작업을 진행할 대상을 선택하고, 책임과 역할을 체크리스트로 나열한다.

  • 구분자(인터페이스; Delimiter): 주어진 문자열을 자신의 구분 규칙에 따라 숫자로 변환한다.
    • 기본 구분자(클래스; IntegerDefaultDelimiter)
      • 쉼표(,)와 콜론(:) 모두 구분자로 간주한다.
    • 커스텀 구분자(클래스; IntegerCustomDelimiter)
      • 문자열 앞부분의 "//""\n" 사이에 위치하는 문자를 구분자로 간주한다.
  • 계산기(클래스; Calculator): 주어진 문자열을 분리하고, 더한 결과를 반환한다.

3. 예외 상황

IllegalArgumentException을 발생시키고 종료한다.

  • 커스텀 구분자가 기본 구분자와 겹치면 예외를 발생시킨다.
    • 커스텀 구분자가 숫자면 의도치 않은 결과가 발생할 수 있으므로,
      요구사항에 명시되지는 않았지만 예외 상황으로 간주한다.
  • 숫자를 분리할 때, 형식 오류가 발생할 수 있다.
  • 분리된 숫자가 양수가 아니라면 예외를 발생시킨다.
  • 숫자를 더할 때, 오버플로우가 발생할 수 있다.