Computer + programming
Code review 일기 : if 묶기
닉
2020. 4. 27. 20:48
조건문 얘기는 저번에 했으니...
if (1 <= someA && 9 >= someA && 1 == someA % 2) {
someFunc(true);
} else if (1 <= someA && 9 >= someA && 0 == someA % 2) {
someFunc(false);
}
정말 이런 걸 실전에서 볼까 싶은데도 방심할 수 없는 게 이 바닥이라..(사실 저번 else도 너무 당연한 거였지만)
위와 같은 code도 정말 자주 본다.
그래도 이 정도는 대부분 다시 생각 해보라고 하면 금방 아래처럼 가져온다.
if (1 <= someA && 9 >= someA) {
if (1 == someA % 2) {
someFunc(true);
} else {
someFunc(false);
}
}
그런데 의외로 여기서 끝나는데...사실 이건 3항 연산자를 사용해주는 게 더 눈에 잘 들어온다.
if (1 <= someA && 9 >= someA) {
someFunc( (1 == someA % 2) ? true : false );
// Kotlin의 경우는 if를 쓴다.
someFunc( if (1 == someA % 2) true else false );
// 그리고 정말 이런 조건이면 3항 연산자를 쓸 필요도 없다.
someFunc(1 == someA % 2);
}
뭐, 단순화 해놨으니 눈에 더 잘 보이는 거일수도.
그리고 동일한 형태의 함수 호출을 조건에 따라 여러 번 하는 건 가능한 자제하는 게 좋다.