처음 프로젝트를 시작했을 때, 디자인 패턴, 파일구조와 같은 추상적인 개념과 d이것들에 대한 중요성을 전혀 몰랐다. 프로젝트에 몇 가지 새로운 기능 구현을 요청될때마다 디자인 패턴, 파일구조 등을 전혀 고려하지 않은 구조때문에, 작은 기능 하나가 어플리케이션 전체에 큰 이슈를 불러 일으켰다. 더 많은 기능 구현을 하며 코드를 재작성하는 일이 두 번 더 반복되었고, 요구될때 마다 변경하는 것이 두려워지기 시작했다. 코드리팩토링이 필요하다!
여러가지 패턴들이 있지만, 무작정 적용하기보다 풀고자 하는 문제와 맞는 경우에만 사용하는 것이 좋다. 대신 아래와 같은 규칙은 적용하는 것이 좋다.
1. DRY (Don’t Repeat Yourself)를 유지한다.
2. 컴포넌트를 작게 쪼개고, 재사용 가능한 컴포넌트를 만들어라.
3. '단일책임'원칙에 초점을 맞춰라. 컴포넌트가 무엇을 하는지 명확하게 이해할 수 있다.
{this.props.theme === RED ? <RedButton> : <BlueButton>}