-
-
패턴으로 익히고 설계로 완성하는 리액트 - TDD와 리팩터링으로 만드는 효율적이고 유지보수 가능한 클린 코드
준타오 추 지음, 정재명 옮김 / 한빛미디어 / 2025년 2월
평점 :
"한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다."
어느 정도 규모 있는 회사는 협업 도구로 Jira를 많이 사용합니다. Jira는 Atlassian이 개발한 이슈 추적 및 프로젝트 관리 소프트웨어입니다. 쉽게 설명하면은 일정 관리 프로그램으로 웹을 통해서 개발자뿐만 아니라 다양한 직군에서 함께 씁니다. 대체제로는 가볍게 Github Issues를 쓰기도 합니다. 하지만 한계는 분명하죠. 더불어 Trello는 칸반 보드 기반으로 많은 기업에서 사용하다가 아틀라시안이 인수한 바 있습니다.
대부분 지라 외의 대체제는 사용하는 경우가 드뭅니다. 이러한 가운데 Atlassian 개발자인 준타오 추가 패턴으로 익히고 설계로 완성하는 리액트 책이 나왔습니다. 이 책은 저자가 Atlassian Design System의 컴포넌트에 몰두 중 동료들과 디자인 패턴에 대해 고민한 흔적이 묻어 나온 책입니다. 그럼 자세히 알아보도록 하겠습니다.

1) 리액트 안티패턴 찾기
불과 10년 전만 하더라도 프런트엔드 개발이 까다롭거나 어렵게 받아드리지는 않았습니다. 당시 HTML, CSS, JavaScript가 주요 도구였으며, jQuery가 DOM 조작과 브라우저로 충분했습니다. 하지만 현재는 상황이 다르죠. 사용자가 기술에 대한 이해도가 높아져 요구사항 또한 늘어나게 됩니다. 자연스럽게 프런트엔드 개발자는 많이 필요하게 되면서 규모가 커지면 커질수록 복잡성이 배로 증가하게 됩니다.
이에 따라 새로운 기능을 추가하는데 생각보다 많은 시간이 필요하게 되고 결함을 찾아 수정하는 것도 쉽지 않게 됩니다. 이 책은 문제의 원인을 안티패턴이라고 바라봅니다. 책에서 말한 안티패턴을 이해하고 개선된 방향으로 설계 원칙을 적용하면서 설계에 대한 이해도를 높이는 책입니다.

2) 3가지 원칙
책에서 말한 안티패턴은 명백한 기술적 오류는 아닙니다. 처음에는 코드가 문제가 없이 잘 동작합니다. 그러다 기능이 늘어날수록 문제를 일으킬 확률이 높아집니다. 즉 역할이 늘어날수록 불안정해지면서 수정하기 까다로운 부분일 수 있습니다. 이러한 점은 설계 부분에서 잘못된 확률이 높습니다. 이 책은 리액트 컴포넌트 설계에 대해서 3가지 원칙에 대해 알려줍니다.
가장 먼저 단일 책임원칙은 각각의 컴포넌트는 하나의 특정한 목적을 가져야 함을 강조하는 원칙입니다. 이 원칙을 지키면 컴포넌트를 읽기 편할 뿐만 아니라 테스트하고 유지 보수하기 쉽습니다. 두 번째는 중복 배제 원칙인데요. 중복을 최소화하고 재사용성을 높여줍니다. 마지막으로 컴포넌트 합성 원칙은 단순하고 재사용할 수 있는 컴포넌트를 조합하여 복잡함 UI를 구성하는 데 효율적으로 사용할 수 있습니다.