모듈화에서 꼭 놓치지 말아야 할 것❗️

최근 팀에서 새로운 프로젝트를 준비하면서 “새로운 프로젝트에서 모듈화를 꼭 도입해보자!”라고 팀원들과 다짐했습니다. 모듈화를 왜 해야 하는지, 모듈화를 하면 어떤 장점이 있는지, 어떻게 하는지에 대해 공부하면 할수록 커진 질문 하나는 아이러니하게도 “모듈화를 왜 해야 하지?” 였습니다. 모듈화가 중요한 이유는 눈을 감고도 설명을 할 수 있지만 정작 내가 개발하고 있는 서비스와 팀에게 중요한 이유를 찾지 못했습니다. 마치 1000명의 고객을 위해 1000개의 기능을 만들어서 1000명의 고객 모두가 만족할 수 있는 제품을 개발하자! 라는 것과 같이 이 회사에서 한 모듈화, 저 회사에서 한 모듈화의 모습을 적용도 시켜보고 모듈화로 얻을 수 있는 모든 장점을 얻어보자는 마음이 있었기 때문에 더 힘들고 고민이 많았던 것 같습니다. 모듈화의 목적과 모듈화를 통해 얻고 싶은 게 무엇인지 다시 한번 생각해봤습니다. 우선 기준을 명확하게 두 개로 나눴습니다. 1️⃣ 모듈화를 통해 테스트가 가능하게 만들자 2️⃣ 모듈화를 상세하게 하지 말고 크게 두,세 개의 레이어를 나누고 특정 객체는 어떤 레이어에 들어가야 하는지의 정도의 정의 두 가지의 명확한 기준을 세우고 나니 모듈화의 기준이 아니라 테스트할 수 있는 코드를 짜기 위한 기준이라고도 생각이 됩니다. 새로운 프로젝트를 준비할 때 중요하게 생각해야 할 것은 이 정도라고 생각합니다. 새로운 프로젝트를 할 수 있는 건 어떤 면에서는 개발자에게는 최고의 상황입니다. 아키텍처는 바뀌기 어려운 부분이기 때문에 처음 시작할 때 중요하다고 생각하는 기술을 도입해보는 것은 굉장히 좋은 환경이 주어진 것입니다. 모듈화에 정답이 없다는 건 맞지만 맞는 큰 방향은 존재합니다: 맞는 큰 방향이라는 건 모듈화, 자동화 테스트가 가능한 구조, 의존성 주입 등이 있습니다. 세부 디테일은 정답이 없는 게 맞는 것 같습니다. 모든 이해관계자에게 기술적인 부분은 설득과 납득을 100% 시킬 순 없습니다. 내 지식과 경험을 토대로 설득하더라도 다른 경험을 한 사람에게 설득이 되지 않을 때가 있기 때문입니다. 설득에도 큰 것부터 세부적인 것까지 단계가 있습니다. 먼저 합의할 수 있는 부분부터 합의하고 계속해서 이어 나가는 것이 중요합니다. 💬 한 줄 요약 모듈화를 할 때 가장 중요한 건 테스트할 수 있는 구조를 만드는 것이다.

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 1월 6일 오후 10:22

 • 

저장 149조회 5,058

댓글 1

  • 이러한 방식의 모듈화는 코드가 개발됨에 따라 테스트할 수 있는 환경을 조성하고 코드의 유지 보수성이 향상됩니다. 또한 개발을 작은 모듈로 쪼개면 각 모듈을 담당하는 개발자가 독립적으로 작업할 수 있기 때문에 개발 속도도 빨라진다 https://papas-freezeria.com/