작성
·
32
0
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
조건문 문제와풀이2 에서 평점에 따른 영화추천문제와 관련된질문입니다.
강의에서는 영한님께서 if문을 묶지 말라고하셨는데 아래 코드처럼 작성하면 안된다는 말인가요? 실행에는 문제가 없는거 같은데 영한님이 말씀하신 의도가 궁금합니다.
package cond.ex;
public class MovieRateEx_re {
public static void main(String[] args) {
double rating = 8.1;
if (rating >= 9) {
System.out.println("'어버웃타임'을 추천합니다");
} else if (rating >= 8) {
System.out.println("'어버웃타임'을 추천합니다");
System.out.println("'토이스토리'을 추천합니다");
} else if (rating >= 7) {
System.out.println("'어버웃타임'을 추천합니다");
System.out.println("'토이스토리'을 추천합니다");
System.out.println("'고질라'을 추천합니다");
}
}
}
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 이진호남선님.
질문하신 사항은 “조건문 문제와 풀이2”에서의 평점에 따른 영화 추천 문제와 관련된 내용입니다. 코드가 실행되는 데는 문제가 없으나, 강의에서 김영한님은 특정 코드 스타일을 지양하기를 권장하신 것 같습니다.
강의에서 언급된 ‘if 문을 묶지 말라’는 조언은 코드의 가독성과 유지보수성을 높이는 데 중요한 역할을 합니다. 코드가 작동하긴 하지만, 중복된 코드는 이해하기 어렵고, 나중에 수정이나 확장이 필요할 때 더 큰 문제가 될 수 있습니다. 중복을 제거하고 조건의 표현을 간결하게 하여 코드를 더 명확하게 만드는 것이 좋습니다.
각 영화에 해당하는 if 조건이 반복되어 있습니다. 특정 조건에 따라 메시지를 출력하는 것이므로, 이 중복을 줄이는 것이 코드 품질을 향상시킬 수 있습니다.
중복되는 코드를 줄이는 또 다른 방법은 배열이나 리스트를 사용하여 출력할 영화 목록을 저장한 후, 별도의 반복문을 사용해 이를 출력하는 방식입니다.
다음 링크들을 통해 다른 학습자의 질문과 답변을 참고해 보세요:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.