/StringCalculator

tdd, refactoring practice

Primary LanguageJava

  • 빈 문자열 또는 null 입력시 0 반환

  • 음수를 전달할 경우 RuntimeException 예외가 발생 (예 : “-1,2,3”)

  • 숫자 하나를 문자열로 입력할 경우 해당 숫자를 반환 (예 : “1”)

  • 숫자 두개를 컴마(,) 구분자로 입력할 경우 두 숫자의 합을 반환 (예 : “1,2”)

  • 구분자를 컴마(,) 이외에 콜론(:)을 사용할 수 있음 (예 : “1,2:3” => 6)

  • “//”와 “\n” 문자 사이에 커스텀 구분자를 지정할 수 있음 (예 : “//;\n1;2;3” => 6) ; : & @ # % = - ! ] }

  • 커스텀 구분자 형식의 문자열 중 숫자값을 빈 문자열로 입력한 경우 0을 반환 (예 : “//:\n” => 0) (차이 : “//:\n2:3::” => 6)

Refactoring

  1. 메소드는 한 가지 책임만 가져야 함

  2. 인덴트는 1단계로 유지

  3. else 사용 최소화