Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: wbluke/readable-code
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: Dayoming/readable-code
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 17 commits
  • 41 files changed
  • 1 contributor

Commits on Oct 3, 2024

  1. docs: 인프런 워밍업 클럽 2기 4일차 미션 제출

    코드 리팩토링, SOLID 정리
    Dayoming committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    cd345f3 View commit details
    Browse the repository at this point in the history

Commits on Oct 7, 2024

  1. refactor: 코드 리팩토링

    메서드 추출, 이름 짓기, 매직 넘버/매직 스트링 추출, 부정어 삭제, 의도적 예외 AppException 추가
    Dayoming committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    6f616e3 View commit details
    Browse the repository at this point in the history
  2. refactor: 객체 설계하기

    Cell과 관심사 분리
    열렸다/닫혔다는 개념과 사용자가 체크했다는 개념에 대한 도메인 지식 적용
    Dayoming committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    4f69596 View commit details
    Browse the repository at this point in the history
  3. refactor: SRP 원칙 적용

    - 프로그램을 실행하는 진입점 역할/지뢰찾기 도메인을 가지고 지뢰찾기 게임을 실행하는 부분을 나눔
    - 입출력은 별개의 책임으로 클래스를 나누어 지뢰찾기 도메인 클래스와 협력
    - GameBoard를 분리해 객체에 메시지를 보내 행동 요청
    Dayoming committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    5a84baf View commit details
    Browse the repository at this point in the history
  4. refactor: OCP 원칙 적용

    - GameLevel 인터페이스를 사용해 게임의 난이도를 변경할 수 있도록 기능 확장
    Dayoming committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    55d4c13 View commit details
    Browse the repository at this point in the history

Commits on Oct 8, 2024

  1. Configuration menu
    Copy the full SHA
    f39eaf4 View commit details
    Browse the repository at this point in the history
  2. refactor: LSP 원칙 적용

    - Cell 클래스를 상속받는 EmptyCell, LandMineCell, NumberCell 생성
    - 부모의 책임을 준수하고 각 클래스가 기능을 확장할 수 있도록 설계
    Dayoming committed Oct 8, 2024
    Configuration menu
    Copy the full SHA
    be5a15c View commit details
    Browse the repository at this point in the history
  3. refactor: ISP 원칙 적용

    - 각각 초기화, 실행의 책임을 가지고 있는 GameRunnable과 GameInitializable 인터페이스를 분리
    - 하위 구현체에서 필요한 기능만 구현하도록 설계
    Dayoming committed Oct 8, 2024
    Configuration menu
    Copy the full SHA
    d60a021 View commit details
    Browse the repository at this point in the history
  4. refactor: DIP 원칙 적용

    - ConsoleInputHandler, ConsoleOutputHandler를 InputHandler, OutputHandler라는 추상 객체에 의존하도록 수정
    Dayoming committed Oct 8, 2024
    Configuration menu
    Copy the full SHA
    83150d8 View commit details
    Browse the repository at this point in the history
  5. refactor: 상속 구조를 조합으로 변경

    - 기존의 Cell을 상속받던 구조를 조합으로 변경
    - Cell에서 사용하던 isFlagged, isOpened 필드를 CellState로 분리해 상태만 따로 관리할 수 있도록 책임 분리
    - Cell을 인터페이스로 구현하고 각 기존의 자식들은 구현체로 변경해 유연한 변경이 가능하도록 수정
    Dayoming committed Oct 8, 2024
    Configuration menu
    Copy the full SHA
    37a9f7b View commit details
    Browse the repository at this point in the history
  6. refactor: Value Object 사용

    - CellPosition, RelativePosition을 Value Object로 분리해서 의미를 더 명확하게 수정
    Dayoming committed Oct 8, 2024
    Configuration menu
    Copy the full SHA
    b8bc98f View commit details
    Browse the repository at this point in the history

Commits on Oct 9, 2024

  1. Configuration menu
    Copy the full SHA
    c9f37c8 View commit details
    Browse the repository at this point in the history
  2. refactor: DIP 적용

    - InputHandler와 OutputHandler를 인터페이스로 변경
    - 구현체인 ConsoleInputHandler, ConsoleOutputHandler 구현
    - 입출력을 담당하던 각 객체를 추상화하고 인터페이스를 의존하도록 함으로써 이후에 입출력 방식이 변경되어도 유연하게 대처 가능
    Dayoming committed Oct 9, 2024
    Configuration menu
    Copy the full SHA
    3c5fdd3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8164b41 View commit details
    Browse the repository at this point in the history
  4. refactor: SRP 적용

    - PassSelector 클래스를 추가해 Pass 선택 로직을 분리
    - StudyCafePassMachine은 이제 직접 Pass를 선택하는 로직을 수행하는 대신 PassSelector에게 selectPass라는 메시지를 전달해 Pass를 선택하는 책임을 줌
    Dayoming committed Oct 9, 2024
    Configuration menu
    Copy the full SHA
    5689b56 View commit details
    Browse the repository at this point in the history
  5. refactor: 일급 컬렉션 적용

    - StudyCafePassMachine 내부에서 다루던 List<StudyCafePass> 들을 일급 컬렉션으로 관리
    Dayoming committed Oct 9, 2024
    Configuration menu
    Copy the full SHA
    20d7f75 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    b80a490 View commit details
    Browse the repository at this point in the history
Loading