Code Monkey home page Code Monkey logo

java-ladder's Introduction

java-ladder

사다리 타기 미션 저장소

우아한테크코스 코드리뷰

요구사항 목록

주요 객체 속성, 역할

Player

  • 이름을 가진다.

Ladder

  • 여러 개의 Line을 가진다.
  • 높이를 가진다.

Line

  • 폭을 가진다.
  • Step을 가진다.
  • Step이 이어지면 안된다.

Step

  •       또는 ----- 를 가진다.

입력 요구사항

  • 게임을 시작하면 참여할 사람 이름을 입력 받는다.
    • 참여할 사람의 이름은 ,로 구분된다.
    • 참여할 사람은 최소 2명이다.
    • 참여할 사람은 최대 13명이다.
    • 참여할 사람의 이름이 공백이거나 5자리를 초과하면 IllegalArgumentException 예외가 발생한다.
    • 참여할 사람의 이름이 중복되면 IllegalArgumentException 예외가 발생한다.
    • 참여할 사람에 null 값이 주어지면 IllegalArgumentException 예외가 발생한다.
  • 참여할 사람을 입력 받으면 최대 사다리의 높이를 입력 받는다.
    • 최소 사다리의 높이는 참여하는 사람의 인원 수 이다.
    • 최대 사다리의 높이는 참여하는 사람의 인원 수의 2배이다.
    • 입력되는 사다리의 높이가 최소, 최대 범위 값을 벗어나면 IllegalArgumentException 예외가 발생한다.
    • 양의 정수 외의 값이 입력되면 IllegalArgumentException 예외가 발생한다.

출력 요구사항

  • 최대 사다리의 높이를 입력받으면, 실행결과를 출력한다.
  • 실행결과를 출력하면, 참여한 사람의 이름과, 사다리의 결과를 출력한다.

궁금한 사항

  • 실패하는 테스트가 있어면 커밋을 해선 안된다고 들었는데, TDD의 경우 실패하는 테스트를 만들어야 한다고 강의에서 배웠습니다.
  • 이때, 실패하는 테스트를 구현한 뒤 커밋을 할지, 아니면 전체 기능을 전부 구현한 뒤 커밋할 지 궁금합니다.

java-ladder's People

Contributors

seokjin8678 avatar pobiconan avatar woowahan-pjs avatar

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.