brunch

You can make anything
by writing

C.S.Lewis

by 스파르타코딩클럽 Nov 20. 2024

클린 아키텍처, 꼭 필요할까?

시니어 개발자가 바라보는 클린 아키텍처가 궁금하시다면 주목해주세요.

항해 플러스는 매주 발제 형식으로 코스가 진행되는 것을 알고 계셨나요? 항해 플러스 대표 시니어 코치님들이 정리한 발제 내용을 이 아티클에 담았습니다. 최신 개발 트렌드에 대한 빅테크 시니어 개발자의 생생한 의견이 궁금하시다면 이번 아티클에 주목해 주세요.



시니어 멘토의 생각: Why 클린 아키텍처?


1) 클린 아키텍처, 헥사고날 아키텍처 등 다양한 아키텍처 패턴들을 다 알아야 하나요?

우리는 단순히 특정 요구사항을 만족하는 기능을 제공하는 애플리케이션을 작성하고 끝나는 것이 아닌 유지 보수 및 지속적으로 서비스가 성장 가능하도록 하는 구조를 고민해 보아야 합니다. 이를 위해서는 효율적으로 개발하고, 유지 보수 할 수 있도록 다양한 룰을 정해야 합니다.


가독성을 높여 코드를 누구나 쉽게 파악할 수 있게 한다든지, 쉽게 변경할 수 있도록 다양한 원칙을 도입한다든지 하는 것들이 이에 속합니다. 그리고 이런 것들을 기본적으로 포함하고, 지켜질 수 있도록 하는 룰이 우리가 흔히들 들을 수 있는 클린, 헥사고날, 레이어드 등의 아키텍처 패턴 들입니다. 우리는 이를 학습하고 좋은 소프트웨어를 만들기 위한 규칙을 만들어 나가야 합니다.



2) 좋은 아키텍처 패턴은?  

지속적으로 성장 가능한 안정적인 소프트웨어를 잡기 위한 최고의 가이드라인

지켜야 할 기본적인 개발 가이드라인을 잡아주는 틀



3) 클린 코드의 중요성

우리가 작성하는 코드, 언제든 이해하기 쉬울까요? 비즈니스 로직을 표현하다 보면, 코드의 복잡도는 높아지고 이를 이해하는 것은 쉽지 않을 수 있습니다. 이는 다른 개발자들과 함께 일할 때, 혹은 유지 보수할 때 코드의 가독성 등에서 매우 중요하며 달성하기 위한 수많은 방법들이 존재합니다. 함수 네이밍, 주석부터 시작해서 응집도/결합도, 수많은 원칙 등 클린 코드와 함께 따라오는 저마다의 노하우나 규칙들이 존재합니다.


우리는 무엇보다 변수, 함수 등이 스스로 내가 무엇인지, 어떤 일을 하는지를 설명할 수 있어야 하고 명확하게 자신의 역할만을 수행하고 있는지 등에 주의해 코드를 작성하는 습관을 들이는 데에 노력을 기울여야 합니다.



4) 클린 코드에서 추구하는 것  

읽기 쉽고 단순한 코드 : 코드는 누구나 쉽게 읽을 수 있어야 하며, 너무 많은 책임을 가지고 있지 않을 것

의존성 격리 : 모듈 간 미치는 영향을 최소화하기 위해 의존성 격리를 고려할 것

추상화 : 명세와 구현을 적절히 분리할 것

중복성 최소화 : 중복된 코드는 최대한 지양할 것



시니어 멘토의 답변

Q : 요즘 Clean , Hexagonal , Vertical Slice 등 다양한 아키텍처에 대한 이야기가 들려옵니다. 이런 것들을 이용해 볼 수는 없을까요?

A : 물론 가능합니다! 클린 아키텍처는 DDD 기반으로 도메인 중심의 설계에 효율적이며 헥사고날 아키텍처는 보통 잘게 나눈 도메인에 기반한 MSA에 효율적인 아키텍처입니다. 이는 실제로 SOLID 원칙을 잘 지킨 하에, 레이어드 아키텍처와 함께 녹여내어 현업에서 사용하는 아키텍처입니다. 그래서 러닝 커브로 인한 프로젝트의 지연보다는, 우선적으로 기본에 충실한 구현을 진행하고 차후 리팩토링 등을 통해 고도화된 아키텍처의 도입을 시도해 보는 것을 추천드립니다.





개발자 이직 준비, 어떻게 시작해야 할지 모르겠나요? 한 단계 더 도약하는 험난한 항해에서 든든한 메이트가 되어드리겠습니다.

성장의 한계를 느끼고 있는 주니어 개발자들은 항해 플러스 백엔드/프론트엔드 코스와 함께 하시면 됩니다. 기본기 역량 강화부터, 커리어 점프시켜 줄 TDD / 성능최적화, 대용량 트래픽 처리, 장애 대응 프로젝트와 이직 코칭까지 한번에 할 수 있습니다. 성장을 향한 강한 의지만 있다면 항해 플러스 10주 성장 코스로 이직을 도전해보세요.

가파르게 성장하는 AI 산업에서 AI 기술을 실무에 적용할 수 있는 역량을 키우고 싶다면 항해 플러스 AI 코스에 합류하세요. 딥러닝 이론과 자연어 처리, LLM 원리와 활용 및 구현, 클라우드 환경 배포 및 파인 튜닝 그리고 AI 전문가의 이직 코칭과 포트폴리오 코칭까지 항해 플러스 AI 코스에서 한 번에 할 수 있습니다. 갈수록 중요해지는 AI 활용 능력, 항해 플러스 AI 코스로 8주 만에 떠오르는 AI 인재로 도약하세요.



항해 플러스 더 알아보기

매거진의 이전글 클린 코드, 무엇이고 어떻게 써야 할까?
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari