Giter Club home page Giter Club logo

ios-calculator-app's People

Contributors

daheenallwhite avatar yagom avatar ye-ha avatar

ios-calculator-app's Issues

📍계산기 스토리보드 코드 합치기

  • STEP 3 코드 합치고 스토리보드와 IBOutlet, IBAction 연결 (💙 예거 코드 베이스)
  • 오토레이아웃 수정 (💙 예거 코드 베이스)
  • CalculatorViewController 리팩토링 (💙 예거 코드 베이스)
    • nameSpace 용도로 사용할 별도의 파일 만들어서 상수들 모아두기 + 여기에 numberFormatter 도 넣어보기!
    • 오타 수정하기 (Lable -> Label)
    • IBAction 메서드들 네이밍 수정 (어쩌구ButtonDidTouchUp -> tapped어쩌구Button)
    • switch문 삭제하면서 guard문 사용을 1순위로 고려하기. if문 도 들어갈 필요 없음
    • force-unwrapping 삭제하고 옵셔널 바인딩 사용 (연산 프로퍼티 응용)
    • Operator 열거형 타입 메서드 리팩토링 (단순히 rawValue 배열을 반환하는 거 뿐만 아니라, 판단까지 해주는 식으로)
    • ExpressionParser 열거형의 parse 메서드 가독성 향상을 위해 추가 상수 생성
    • 기존 네임스페이스에 있던 상수들 String, Character 익스텐션으로 분리
    • 네임스페이스 열거형 이름 바꾸고 numberFormatter, haptic Feedback 을 타입 메서드로 리팩토링
    • String 연산에서 += 말고 String Interpolation 사용하기 (좀 더 성능이 좋다?)
      • String 익스텐션에 notContains 메서드 구현 (contains 의 반대 기능)
    • (Optional) Scroll Indicator 위치 바꿀 때 Right inset 350pt 설정하는 방법 말고, 여러 기기에 대응할 수 있는 다른 방법 찾기

Operator enumeration

  • Operator enumeration 생성
  • 테스트 케이스 생성
  • 테스트 케이스 추가하며 구현하기
  • 코드 리팩터링

ExpressionParser enumeration

  • ExpressionParser enumeration 생성
  • 테스트 케이스 생성
  • 테스트 케이스 추가하며 구현하기
  • 코드 리팩터링

String extension

  • String extension 생성
  • 테스트 케이스 생성
  • 테스트 케이스 추가하며 구현하기
  • 코드 리팩터링
  • 빼기 연산과 음수 피연산자 처리

Formula struct

  • Formula struct
  • 테스트 케이스 생성
    [ ] 테스트 케이스 추가하며 구현하기
  • 코드 리팩터링

STEP 1 PR 리뷰 반영

  • Queue의 element의 네이밍 수정 T -> Element
  • Queue의 element가 CalculateItem 프로토콜을 준수하도록 수정
  • 테스트 코드 내 개행 수정

📍UML 요구사항 단위 별 코드 합치기

  • CalculatorItemQueue 구조체 (❤️ 예하 코드 베이스)
  • Formula 구조체 (❤️ 예하 코드 베이스)
  • Operator 열거형 (❤️ 예하 코드 베이스)
  • ExpressionParser 열거형 (💙 예거 코드 베이스)
  • String+Extension (💙 예거 코드 베이스)
  • 테스트 케이스 (삭제함, 왜냐면 코드를 다 쓴 뒤에 테스트 케이스를 맞추는 게 의미가 있나 싶어서)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.