이것은 내가 최근에 많이하고있는 일이다.
예:
setCircle(circle, i, { current }) {
if (i == current) {
circle.src = 'images/25CE.svg'
circle.alt = 'Now picking'
} else if (i < current) {
circle.src = 'images/25C9.svg'
circle.alt = 'Pick failed'
} else if (i > current) {
circle.src = 'images/25CB.svg'
circle.alt = 'Pick chance'
}
}
종종 if / else 사다리는 이것보다 훨씬 더 복잡합니다 ...
마지막 조항을 참조하십시오? 중복입니다. 사다리는 궁극적으로 가능한 모든 조건을 잡아야합니다. 따라서 다음과 같이 다시 작성할 수 있습니다.
setCircle(circle, i, { current }) {
if (i == current) {
circle.src = 'images/25CE.svg'
circle.alt = 'Now picking'
} else if (i < current) {
circle.src = 'images/25C9.svg'
circle.alt = 'Pick failed'
} else {
circle.src = 'images/25CB.svg'
circle.alt = 'Pick chance'
}
}
이것이 내가 코드를 작성하는 데 사용한 방법이지만이 스타일을 싫어합니다. 내 불만은 코드의 마지막 부분이 실행될 조건이 코드에서 명확하지 않다는 것입니다. 따라서이 조건을보다 분명하게 작성하기 위해 명시 적으로 작성하기 시작했습니다.
하나:
- 명백하게 최종 소진 상태를 작성하는 것은 내 자신의 아이디어이며, 나는 내 자신의 아이디어에 대한 나쁜 경험을 가지고 있습니다. 일반적으로 사람들은 내가하고있는 일이 얼마나 끔찍한 지에 대해 비명을 지 릅니다. 차선책;
- 이것이 나쁜 생각 일 수있는 한 가지 힌트 : Javascript에는 적용되지 않지만 다른 언어에서는 컴파일러가 함수의 끝에 도달하는 제어에 대한 경고 또는 오류를 발생시키는 경향이 있습니다. 그런 일을하는 것은 너무 인기가 없거나 잘못하고 있습니다.
- 컴파일러 불만으로 인해 때로는 의견에 최종 조건을 쓰게되었지만 코드와 달리 의견이 실제 프로그램 의미에 영향을 미치지 않기 때문에 그렇게하는 것이 끔찍한 것 같습니다.
} else { // i > current
circle.src = 'images/25CB.svg'
circle.alt = 'Pick chance'
}
뭔가 빠졌습니까? 아니면 내가 묘사 한 것을하는 것이 좋습니까, 아니면 나쁜 생각입니까?