Eighteeen / CleanCode_Book_Study

📚 클린코드 북 스터디 📚
4 stars 0 forks source link

[함수] - 3-2 예제가 3-1 코드와 정말 같은 동작을 하는지? #4

Closed deepredk closed 3 years ago

deepredk commented 3 years ago

3-1 예제는 "Test" 속성이 없더라도 pageData.setContent();는 항상 해주는데

3-2 예제는"Test" 속성이 있어야만 setContent를 해주는 코드라 완전히 다른 코드 아닌가?

착오가 있는건지, 책이 잘못된건지 확신을 얻고싶어서 이슈 올림

WinningBean commented 3 years ago

pageData.setContent(buffer.toString()); 그리고 앞서서 buffer.append(pageData.getContent()); 를 해주는 것이 관건인 것 같습니다.

아무리 살펴봐도 buffer.append(pageData.getContent()); 를 무조건 수행하기 때문에, 이 문장에서 buffer가 어떻게 설정되는지에 따라 pageData.setContent(buffer.toString()); 가 수행되면 추가든 재설정이든 할 수 있기 때문에, pageData가 어떻게 설정되어 있는지에 따라 달라질 수 있다고 생각합니다.

'이렇게 유명한 책에 아직도 오류가 있을까?' 라는 생각 때문에 굉장히 의문이 들지만, 저도 아무리 생각해 봐도 다른 동작을 하는 코드라고 생각이 드네요. 😅

sookyeonghwang commented 3 years ago

저도 @Winning-Bean 의 말에 동의합니당,,

잘 모르겠지만ㅎㅎ 책에서도 3-1코드에서 3-2코드로 변경하면서, 함수를 읽기 쉽고 이해하기 쉽게 만드는 부분에 초점을 맞추면서 오류가 있었던 것이 아닐까 싶네요

WinningBean commented 3 years ago

결론

목록 3-1목록 3-2와 다른 작동을 한다.