inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Readable Code: 읽기 좋은 코드를 작성하는 사고법

객체 설계하기 (2)

isLandMineCell() 메서드 질문

208

하다현

작성한 질문수 2

0

리팩토링한 MinesweeperGame.open() 메서드에 대해서 질문있습니다!

 private static void open(int row, int col) {
        if (row < 0 || row >= BOARD_ROW_SIZE || col < 0 || col >= BOARD_COL_SIZE) {
            return;
        }
        if (BOARD[row][col].isOpened()) {
            return;
        }
        if (isLandMineCell(row, col)) {
            return;
        }

        BOARD[row][col].open();

        if (BOARD[row][col].hasLandMineCount()) {
            return;
        }

수업을 따라오면서 isLandMineCell()은 Cell이 지뢰인지 확인하는 메서드이기 때문에 MineSweeperGame 클래스의 메서드가 아닌, Cell 클래스의 메서드가 되어야 open 메서드가 동일한 추상화 레벨을 갖는게 아닌가 하는 의문이 들었습니다.

 

if (BOARD[row][col].isOpened())
...
if (isLandMineCell(row, col))
...

위 두 조건문의 추상화레벨이 통일되지 않다는 생각도 들었구요.

isLandMineCell이 Cell 클래스의 메서드로 작성하지 않은 이유가 뭔지 궁금하고, 제가 가지고 있는 생각(추상화레벨 관련)이 잘못된 이유도 궁금합니다.

 

항상 친절한 설명 감사합니다 많이 배우고 있습니다:)

객체지향 리팩토링 클린코드-기획전

답변 1

0

박우빈

안녕하세요, 하다현 님!

아마 뒷부분 강의를 계속 진행하시다보면 객체를 책임에 따라 나누고 응집하는 과정에서 자연스럽게 리팩토링이 될 거예요. 최종 완성된 코드를 보고도 의문이 드는 부분이 있다면 추가로 질문 남겨주세요.

감사합니다 🙂

[강의 질문] 메서드 선언부

0

89

1

[강의 질문] 메서드와 추상화

0

60

2

DIP 개념에 대한 질문입니다.

0

64

1

만약 보드를 이용한 게임의 종류가 더 다양해진다면 어떻게 될 수 있을지에 대한 고민

0

85

2

DIP 설명 후반부에 IOC에 대한 질문 드립니다.

0

78

2

안녕하세요 ! 혹시 자바가 아닌 다른 객체지향 언어를 알고있어도 강의를 들어도 괜찮을까요 ?!

0

70

1

안녕하세요 메서드명 때문에 고민이 있어서 질문드립니다.

1

64

2

자바 record 사용에 대해서 질문 드립니다!

0

126

2

강의 내용 정리 및 자료 제작 툴 문의 드립니다.

0

136

2

사용할 변수 가깝게 선언하기 질문

0

92

1

오버 엔지니어링

0

147

2

학습용 java/spring 오픈소스 추천

1

359

2

중복된 메서드 줄이는 방법

0

182

2

MarketPlace에서 Sonarlint 검색이 안됩니다.

0

413

3

Cell[][]BOARD 매개변수받기

0

152

2

ConsoleInputHandler에서 왜 final붙여야 하는지

0

192

1

정적 생성자 메서드 of, from

0

264

2

Getter관해서

0

148

3

이름 바꾸기

0

129

2

stack 대신 queue 를 사용해 bfs 로 변경해도 되나요??

0

162

2

현업에서 ISP를 도입하려는데 인터페이스 설계에 있어서 의문이 있습니다.

0

206

2

null을 가질 수 있는 값을 인자로 넘겨야 하는 경우

0

249

3

리팩토링을 하고 난 뒤 다시보면 오히려 더 복잡해 보이는것 같은 느낌입니다..

0

251

2

조합 관계에 대해 질문있습니다.

0

164

2