인프런 커뮤니티 질문&답변

임정섭님의 프로필 이미지
임정섭

작성한 질문수

당신을 함께 일하고 싶은 개발자로 만들어 줄 클린 코드 작성법

그밖의 좋은 코드 작성을 위한 Tip2

그밖의 좋은 코드 작성을 위한 Tip2 : Tell, Don't ask 설명이 누락된 것 같습니다

작성

·

215

1

그밖의 좋은 코드 작성을 위한 Tip2 : Tell, Don't ask 에서 나쁜 예를 소개할 때 엘리베이터를 관리하는 ElevatorManager와 Elevator 클래스가 있다고 가정하여 예로 들어보았습니다.

라고 했는데 ElevatorManager 와 Elevator 클래스가 어떤 클래스인지 코드가 나와있지 않습니다. 변화된 모습은 나오는데 변화되기 전의 형상이 없어 왜 tell 방식이 ask방식보다 좋은지 이해가 안되네요

답변 3

0

클린 코더님의 프로필 이미지
클린 코더
지식공유자

정섭님 지적 너무 감사합니다 :)

 moveElevator() 함수가 어떻게 변화되었는지를 봐주시면 되겠습니다 :)

해당 단락의 주제와 글의 내용을 바탕으로 함수가 어떻게 바뀌었는지 다시 한 번 봐주시면 이해되실 것 같습니다 :)

오타는 수정했습다. 너무 감사합니다 ;)

0

임정섭님의 프로필 이미지
임정섭
질문자

또, 위와 같은 구조에서는 Elevaotr의 currentFloor 필드뿐 -> Elevaotr 오타가 있네요

0

임정섭님의 프로필 이미지
임정섭
질문자

아, 애초에 "코드는 아래와 같이 변경되어야 좋겠습니다.

class Elevator{
private integer currentFloor;

function move(int floorNumber){
if(currentFloor == floorNumber)
return;

moveInternal()

this.currentFloor = floorNumber
}
}

class ElevatorManager{
private Elevator elevator;

function moveElevator(int floorNumber){
elevator.move(floorNumber);
}
}

" 이 부분이 변경되기 전의 코드 소개 부분으로 가야 하고 변경 후의 코드가 새로 추가 되어야 겠네요

임정섭님의 프로필 이미지
임정섭

작성한 질문수

질문하기