[front-end] 공통의 저주

• 개발을 시작하면서 '공통'으로 분리해야 한다는 원칙을 지키려는 생각에 빠지면 발생하는 문제를 '공통의 저주'라고 부른다. 이는 반복되는 UI 요소를 공통으로 분리하려는 시도가 복잡성을 증가시키고, 유지보수를 어렵게 만드는 경우를 말한다.
• 예를 들어, 로그인과 회원가입 페이지에서 같은 UI의 input을 공통으로 사용하려는 시도는 처음에는 효율적으로 보일 수 있지만, 각 페이지에서 요구하는 기능이나 validation 등이 추가될수록 공통 input의 복잡성이 증가하게 된다. 이로 인해 코드의 가독성이 떨어지고, 유지보수가 어려워지는 문제가 발생한다.
• '공통의 저주'는 공통으로 사용되는 UI 요소를 만들 때 발생하는 문제를 의미한다. 예를 들어, '로그인', '회원가입', '포인트' 폼을 공통의 'Input' 태그로 처리하면, 각 폼의 기능이 추가될 때마다 불필요한 props와 분기 처리가 늘어나게 된다.
• 또한, 특정 폼의 UI가 변경되었을 때, 이미 공통 태그에 강하게 묶여있어 기능을 분리하기 어렵고, 이로 인해 기능적 사이드 이펙트가 발생할 수 있다. 이런 문제를 해결하기 위해서는 공통 요소의 범위를 적절히 설정하고, 필요에 따라 분리하여 관리하는 것이 중요하다.

북마크
공유하기
신고하기