Skip to content

Conversation

@ke-62
Copy link

@ke-62 ke-62 commented Oct 29, 2025

안녕하세요 준수님!! 저번 미션에 이어 또 만나게 되었네요 !! 이번 미션도 잘 부탁드립니다.🙇‍♀️

해결했습니다!!

아 참, 제가 코드를 적고 fullrequest버튼을 누르니까 밑에 사진과 같은 오류가 떠서.. 이것저것 해결 방안을 찾다가 새롭게 fork 를 해 아예 코드를 옮겨오는 방법을 선택했습니다. 그러다 보니 commit 한 내용이 모두 날라갔습니다 ㅜㅜㅜ 이전 커밋 내용들 코드는 볼 수 없지만 내역이라도 캡쳐해서 올려드릴게요!
스크린샷 2025-10-29 12 16 46
스크린샷 2025-10-29 12 36 42
피드백 수정 후에 코드 올리는 부분도 최대한 찾아보겠습니다..ㅜㅜ!! 중간고사 끝나고 오랜만에 시작하는 거라 하다가 조금 꼬였나 봐요.

-------------/

본론으로 돌아와서 제 코드에 대해 설명을 드리자면

model/BuildLine: Line을 실제 '-' 모양으로 보여지도록 만드는 클래스
model/LadderGame: 사다리 게임 진행 과정 (가로선 있으면 이동, 없으면 그냥 내려감)
model/LadderFactory: 사다리를 만들어 주는 곳 (가로선이 겹치지 않도록)
model/LadderSize: 사다리 크기 정보
model/Ladder: (일급컬렉션)Line을 여러개 쌓아둔 만들어진 사다리
model/Line: (일급컬렉션)Point들이 모여 만들어진 가로줄 하나
model/Point: 가로선 하나

입니다!

궁금한점

  1. 이번에는 다른 미션들과 다르게, controller에서 OutputView, InputView만이 아니라 model인 LadderFactory도 Controller 필드(private final~~ = ) 로 선언했습니다. LadderFactory는 사다리를 만드는 도구이지 실제 사다리가 아니므로 view처럼 재사용해도 괜찮다고 생각했습니다. 따라서 매번 new LadderFactory()를 호출하는 것보다 하나의 인스턴스를 재사용하는 것이 더 적절하다고 판단해서 이렇게 선언했는데 이 판단이 적절한지 궁금합니다.

  2. 현재 제 코드에서는 LadderGame의 메서드를 호출할 때마다 participants와 results를 매개변수로 계속 넘겨주고 있습니다. LadderGame뿐만 아니라 getResult, playAll을 부를때도 매번 같은 데이터를 전달하고 있는데 이게 불필요한 반복이라는 생각이 들었습니다. 그래서 이 데이터들을 밑에 코드처럼 LadderGame의 생성자에서 한 번만 받아서 필드로 저장하면 어떨까 고민했습니다. 그렇게 하면 메서드를 호출할 때 매개변수를 넘기지 않아도 되어 코드가 더욱 간결해질 것 같습니다. 하지만 반대로 LadderGame이 너무 많은 책임을 가져가는 듯한 느낌 또한 들었습니다. 준수님이라면 어떤 방식이 더 좋을 것 같은지 조언 부탁드리겠습니다.!!


public class LadderGame {
    private final Ladder ladder;
    private final List<String> participants;  // 이렇게 필드로 저장
    private final List<String> results;
    
    public LadderGame(Ladder ladder, List<String> participants, List<String> results) {
        this.ladder = ladder;
        this.participants = participants;
        this.results = results;
    }
    
    public String getResult(String name) {
        
    }
    
    public Map<String, String> playAll() {
        
    }
}

항상 리뷰해 주셔서 감사합니다😊

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