[React] 함수 재사용
고민없이 치는 코드는 나쁘다
함수란?
한가지 일을 수행하는 코드가 블럭으로 묶여있는 것을 말하며, 간단한 명령 만으로도 동일한 코드를 필요한 곳마다 반복해서 사용하지 않을 수 있게 만들어 줍니다. 효과적으로 잘 설계된 함수를 쌓아 나가는 과정이 프로그램을 만드는 일입니다. 기능에 따라 효과적으로 분류하여 구성된 함수를 구성하는 일은 어렵지만 개발자로서 필수적으로 추구해야 하죠.
개발이 진행될 때 마다 코드가 늘어나는 것은 막을 수 없습니다. 그러나 기능별로 함수를 잘 구성하면 코드의 복잡성이 증가하는 속도를 늦출 수 있죠.
함수를 잘 짜는 방법?
- DRY: Don’t Repeat Yourself, 반복을 줄이는 것은 소프트웨어 개발의 원칙입니다. 중복을 줄이는 방법은 개발 과정에서 언제나 옳습니다. 단순하게 코드가 짧아지는 것 뿐 아니라 관리 포인트가 적어지는 것 또한 중요한 점입니다.
- KISS: Keep it Simple, Stupid, 단순하게 만든 함수가 프로그램에겐 좋습니다. 함수는 가급적 단순하게 유지되는 것이 좋습니다. 함수가 너무 복잡하게 많은 기능을 가지면 그 기능밖에 하지 못합니다. 그러나 한 기능을 가진 함수는 다방면에 재사용이 가능합니다.
다만 위 두 가지 원칙이 절대적인 것은 아닙니다. 상황에 따라 훨씬 효과적인 방법을 찾아나가면 됩니다. 그럼에도 위 원칙에 익숙해져야 위 원칙을 벗어나도 되는 상황이 이해될 것입니다. 미래의 유지 보수 할 자신을 위해 간결하고 반복이 없는 함수를 위해 노력해야 하는 거죠.
코딩 전에 생각하기
어떤 부분이 변수가 될 수 있을지 생각해봅시다. 함수의 경우 고정되는 부분은 그대로 두고 변하는 부분만 인자로 받는 함수를 구성하도록 노력합니다. 고정된 부분까지 반복하는 것을 절대적으로 피하는 방향으로 사고해야 합니다.
과도하게 많은 경우를 대비하는 것도 좋지 않습니다. 일단은 심플하게 함수를 구성하고 필요하면 확장하는 방향으로 사고합니다. 간단한 함수를 확장시키는 것은 쉽지만, 복잡한 함수를 축소하는 것은 굉장히 어렵습니다.