JSEXP 문의드립니다.
function ratingDetail(num) {
// 여기에 코드를 작성하세요.
let result;
if (num >=90 && num <=100 ) {
result = "A";
if (num >= 96) {
result += "+";
} else if (num <= 93) {
result += "-";
} else {
}
} else if (num >= 80 && num < 90) {
result = "B";
if (num >= 86) {
result += "+";
} else if (num <= 83) {
result += "-";
} else {
}
} else if (num >= 70 && num < 80) {
result = "C";
if (num >= 76) {
result += "+";
} else if (num < 73) {
result += "-";
} else {
}
} else if (num >= 60 && num < 70) {
result = "D";
if (num >= 66) {
result += "+";
} else if (num < 63) {
result += "-";
} else {
}
} else if (num > 0 && num < 60) {
result = "등급미달";
} else {
result = "잘못된 값입니다";
}
return result;
}
ratingDetail(60);
output에 맞추다 보니 이렇게 코드가 길고
가독성이 떨어지게 되었습니다.
if문을 중첩으로 사용하는 것 외의
다른 방법으로 코드를 최적화할 수 있는 방법이 궁금합니다. 커리큘럼 중 어느 부분을 찾아서 공부하고 응용하면 될까요?
답변 1
0
안녕하세요! 왜그럴까님!
일반적으로 이미 만든 코드를 다시 새롭게 뜯어 고치면서 실력이 가장 많이 상승하는 것 같아요!
이러한 자세를 가지고 계신 왜그럴까님은 금방 실력이 오를 것 같네요! ㅎㅎ
유지보수하기 쉬운 코드로 변경하는 작업을 리팩토링 이라고 합니다!
수업 중간중간에 여러 다양한 리팩토링 스킬들을 배우실 수 있지만, 현재 위 코드를 리팩토링 하는데에 있어서는 단순한 스킬보다는 알고리즘적인 사고력이 필요할 것 같아요!
따라서, 틈틈히 알고리즘을 추가로 공부해 주시면 좋을 것 같습니다!^^
위 코드를 간단히 만들기 위해 여러가지 방법이 있겠지만,
한 가지 팁을 드리자면 아래와 같은 고민을 한 번 해보시기 바랍니다!
const 점수표 = {
10: "A",
9: "A",
8: "B",
7: "C",
6: "D",
};
console.log(점수표[9]) // A
console.log(점수표[7]) // C위 힌트를 사용하시면 더욱 간단히 코드를 만드실 수 있을거예요!
fetchBoardsOfMine, fetchBoardsCountOfMine 에러 문의드립니다
0
40
1
댓글 기능 구현 중 질문드립니다.
0
67
1
쿠폰코드 발급
0
140
2
example 서버 플레이그라운드, API 접속 모두 안됩니다.
0
87
2
문의드립니다!! ㅠㅠ
0
104
2
graphql 백엔드 서버가 포폴용 빼곤 접속이 안됩니다.
0
78
2
_app.js 작성 이후로 에러가 발생하네요
0
95
2
학습자료
0
71
2
학습자료가 안열립니다.
0
51
2
플레이 그라운드 퀴즈 문제 질문이 있습니다.
0
61
0
기존강의 구매자, 업데이트 끝인가요?
0
111
3
업데이트 버전 수강
0
89
2
완벽한 프론트엔드
0
136
2
나만의 쇼핑몰 샘플 페이지 접속 확인부탁드립니다.
0
84
1
graphql 접속이 안됩니다.
0
101
2
const, let 사용 질문 드립니다.
0
71
2
싸이월드 만들기 1탄 피드백 부탁드립니다.
0
122
2
회원가입 과제 피드백 부탁드립니다.
0
81
2
styled.span / styled.input "CSS 자동완성"
0
47
1
쿠폰 발급 관련
0
167
2
서버 502 error
0
247
2
쿠폰 다시 부탁드려도 될가여?
0
140
2
a태그 패딩했을때 왜 크기가 줄어들지 않고 늘어나나요
0
185
2
2분 44초 질문
0
132
3





