이런 로직이 있을 때 어떻게 처리하면 좋을까만 나타내는 코드이다.
만약 3개중 하나를 선택해야한다면? 클린 코드 스터디 취지에 맞게 사소한 것도 고민해고, 생각 공유하기.....
const mutateSelectedCarts = (mode: 'ADD' | 'REMOVE') => {
if (mode === 'ADD') {
setSelectedList((prev) => [...prev, selectedCartItem]);
return;
}
setSelectedList((prev) => prev.filter((cartItem)
=> cartItem === selectedCartItem));
};
const mutateSelectedCarts = (mode: 'ADD' | 'REMOVE') => {
if (mode === 'ADD') {
setSelectedList((prev) => [...prev, selectedCartItem]);
} else {
setSelectedList((prev) => prev.filter((cartItem)
=> cartItem === selectedCartItem));
}
};
const mutateSelectedCarts = (mode: 'ADD' | 'REMOVE') => {
if (mode === 'ADD') {
setSelectedList((prev) => [...prev, selectedCartItem]);
}
if (mode === 'REMOVE'){
setSelectedList((prev) => prev.filter((cartItem) =>
cartItem === selectedCartItem));
}
};
위 방법중 어떤 방법이 좋을까? 예전에는 항상 얼리 리턴이 좋다고 생각했다. 그러나 하다보니까 else게 좀 더 주석처럼 뭔가를 설명해주는 느낌이 드는 것 같아 if-else
도 너무 나쁘지 않은 것 같은데 생각이 들었다. 근데 이 방법말고 3번처럼 하면 더 설명적이지 않은가?
→ 지금은 논리가 A냐 B냐 이다. 어차피 타이핑으로 무조건 둘중 하나인데 그럼 if-else
가자 생각하고, 스터디원분들의 생각이 듣고 싶어졌다