경험상 프로그래머들은 "reduce"를 좋아하지 않음

1 hour ago 1
  • 개인적인 코드 리뷰 경험에서 map과 filter 사용에는 불만이 드물지만, reduce 에는 읽기 어렵다는 피드백을 자주 받음
  • reduce 는 map, filter, some보다 사용 사례도 훨씬 적게 접했으며, 이를 바탕으로 프로그래머들이 상대적으로 덜 좋아한다고 추측함
  • 이유는 확실하지 않으며, 가독성과 익숙함, 다른 대안보다 성능이 나쁠 수 있다는 점 등을 가능한 원인으로 꼽음
  • JavaScript, Python, Swift에서는 reduce가 덜 우아하다고 느끼지만, Clojure로 개발하던 시기에는 같은 피드백을 받지 않았음
  • 최근에는 이런 반응을 덜 경험함. 코드 리뷰가 예전보다 덜 철저해서일 가능성을 생각하지만, 애초에 실제로 존재하지 않는 경향을 잘못 감지했을 가능성도 열어둠

코드 리뷰에서 경험한 차이

  • map과 filter 를 늘 사용하며, 리뷰에서 다른 결정에 대한 피드백은 많이 받아도 두 함수의 사용 자체에 대한 불만은 드물었음
  • reduce 가 들어간 패치를 제출하면 “이 부분은 읽기 어렵다”는 반응을 자주 받았으며, 다른 코드에서도 map, filter, some 등에 비해 훨씬 적게 접했음
  • 이런 경험을 바탕으로 프로그래머들이 reduce를 상대적으로 덜 선호한다고 생각하지만, 개인적 관찰에 따른 추측임

가능한 이유와 실제 대응

  • 원인은 알 수 없으며, 다음 가능성을 생각함
    • 가독성이 떨어지거나 덜 익숙할 수 있음
    • 다른 대안보다 성능이 나쁠 수 있음
    • 사용하는 언어인 JavaScript, Python, Swift에서는 덜 우아하게 느껴짐. 반면 Clojure 개발 시기에는 같은 피드백을 받지 않았음
    • 관찰이 틀렸으며, 실제로는 그런 경향이 없을 수 있음
  • 개인적으로는 reduce를 선호하지만 대개 크게 고집하지 않고 다른 방식으로 바꾼 뒤 넘어감
  • 최근에는 이런 반응이 줄었으며, 코드 리뷰가 덜 철저해졌기 때문일 가능성을 생각함
  • 비슷한 경험이 있는지, reduce를 좋아하는지 의견을 보내 달라고 요청함
Read Entire Article