(240530) Medium Daily Digest

Godomin·2024년 5월 30일

Medium-Daily-Digest

목록 보기
9/24

The DRY Principle in Kotlin: Enhancing Code Quality and Maintainability

https://medium.com/@riztech.dev/the-dry-principle-in-kotlin-enhancing-code-quality-and-maintainability-608c362e64a3

DRY principle이란?

Don't Repeat Youself
코드 중복 방지 및 코드 재사용의 중요성 증진을 강조하는 소프트웨어 개발의 기본 개념이다.
코드 유지 관리성, 버그 및 오류 감소, 가독성 및 이해도 향상, 모듈성 및 재사용성 증진

Kotlin에서 DRY 원칙을 적용한 예

  1. 공통 기능을 함수나 확장 함수로 추출
  2. 고차 함수 활용
  3. 상수 공유: 객체에 그룹화 시킴
  4. 재사용 가능한 데이터 구조
  5. 비즈니스 로직 공유

DRY 사용 시 고려해야 할 사항
1. 조기 추상화 방지: 재사용 가능한 경우에만 추상화
2. 신중한 이름 지정
3. 함수 응집력 유지
4. 장단점 고려: 가독성이나 명확성을 위해 약간의 중복 허용
5. 문서화 및 설명

MVI Architecture with Jetpack Compose

https://medium.com/huawei-developers/mvi-architecture-with-jetpack-compose-8a59fff69624

MVI 패턴은 Model-View-Intent의 약자이다. MVVM과는 다르게 데이터 흐름이 단방향으로만 흐른다는 것이 특징이다. 상태 변화 처리 모델이 불변의 데이터 구조로 되어있다.

MVI core principles

  • Functionality
  • Immutable
  • Reactive

MVI의 장점

  • 모든 레이어는 단방향으로 별도의 기능을 가지므로 레이어 간 분리가 더 잘 된다.
  • 테스트가 더 쉬워진다.
  • 단방향 데이터 흐름으로 예측 가능성이 높아지고 일관된 사용자 인터페이스 구축이 가능하다.
  • 레이어 분리로 보다 모듈화된 구조로 프로젝트 제어가 쉬워지고 확장성이 높아진다.

MVI의 단점

  • 다른 아키텍처에 비해 learning curve가 높을 수 있다.
  • 별도로 생성된 intent와 state는 boiler plate code를 증가시킬 수 있다. 이 때문에 복잡성이 증가할 수 있다.

Compose에서는 MVI 패턴을 가지기 쉽다. 보통 sealed class를 통해 intent를 관리할 수 있다.

0개의 댓글