Skip to content
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

[문자열 덧셈 계산기] 염휘건 미션 제출합니다. #586

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

DreamPaste
Copy link

개요

  • 기본 구문자와 커스텀 구문자를 사용하여 숫자의 총합을 구하는 문자열 덧셈 계산기입니다.
  • 기존 요구사항을 반영하고, 커스텀 구분자의 기능을 확장, 확장 기능을 flag로 설정 가능하도록 구현했습니다.

기능 구현

  • 기본 구분자(',' ':')을 사용하여 문자열을 파싱 및 삭제, 이후 총합을 구함
  • 커스텀 구분자를 추출하고 처리함
  • 여러 커스텀 구분자를[] 형태로 담았을때 결과값이 나옴
  • 여러 종류의 커스텀 구분자나, [@@@]형태의 긴 구분자도 사용 가능
  • 현재의 요구사항에는 불필요하므로 flag를 false로 설정

테스트 목록

  • 문자열 계산기 - 기본 기능
    ✓ 빈 문자열 입력 시 0을 반환한다 (16 ms)
    ✓ 숫자 하나를 입력하면 해당 숫자를 반환한다 (4 ms)
    ✓ 쉼표 구분자로 숫자를 더한다 (2 ms)
    ✓ 쉼표와 콜론 구분자로 숫자를 더한다 (2 ms)
    ✓ 음수를 입력하면 예외를 발생시킨다 (2 ms)
    ✓ 유효하지 않은 입력값이 있으면 예외를 발생시킨다 (1 ms)
  • 문자열 계산기 - 커스텀 구분자
    ✓ 단일 커스텀 구분자를 사용하여 숫자를 더한다(;) (1 ms)
    ✓ 단일 커스텀 구분자를 사용하여 숫자를 더한다(@) (2 ms)
    ✓ 여러 커스텀 구분자를 사용하여 숫자를 더한다 (2 ms)
    ✓ 여러 문자로 구성된 커스텀 구분자를 사용하여 숫자를 더한다 (2 ms)
    ✓ 여러 커스텀 구분자를 사용하고 유효하지 않은 입력값을 포함할 경우 예외를 발생시킨다 (2 ms)

 - readme.md 에 기능 요구사항, 입출력 요구사항을 입력함
- 기능 요구사항을 구체화하여 README.md에 추가
  - 기본 구분자 처리, 커스텀 구분자 처리, 예외 처리 내용 상세화
- 구현 계획에 따른 단계별 작업 내용 기술
- 쉼표와 콜론을 구분자로 사용하여 문자열을 파싱하고 합계를 계산
- 음수와 숫자가 아닌 값에 대한 예외 처리 추가
- 빈 문자열 입력 시 0을 반환하도록 구현
- 테스트 코드에서 Console.readLineAsync를 콜백 방식으로 모킹하도록 수정
- 테스트 함수에서 async/await 사용하여 비동기 함수 호출 처리
- 모듈 시스템을 CommonJS로 통일하여 모듈 불일치 문제 해결
- App.js에서 커스텀 구분자를 추출하고 처리하는 로직 추가
- 커스텀 구분자를 사용하는 경우에도 올바르게 계산되도록 parseInput 메서드 수정
- ApplicationTest.js에 커스텀 구분자를 사용하는 테스트 케이스 추가
- 여러 개의 커스텀 구분자 지원 기능 구현
  - App.js에서 다중 커스텀 구분자를 처리하도록 extractDelimiters 메서드 수정
  - 구분자 정규표현식 로직 개선

- 커스텀 구분자 관련 테스트 케이스 추가
  - ApplicationTest.js에 다중 커스텀 구분자를 사용하는 테스트 추가
  - 다양한 구분자 형식을 검증하는 테스트 케이스 포함

- Promise 기반의 readLineAsync 사용에 맞춰 테스트 코드 수정
  - readLineAsync를 직접 Promise로 사용하도록 App.js 수정
  - ApplicationTest.js에서 Promise 기반 모킹 방식 일치
  - 비동기 테스트를 async/await 패턴으로 간소화

- 코드 주석 구체화 및 Airbnb 스타일 가이드 준수
  - 각 메서드 및 함수에 상세한 주석 추가
  - 변수명 및 함수명 명확화
  - 코드 포맷팅 및 스타일 일관성 유지
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.

1 participant