안드로이드 앱 개발기 #46 - 확장함수 어떻게 관리할까?steemCreated with Sketch.

확장함수 어떻게 관리할까?

No. 46
23.09.07. (목) | Written by @dorian-mobileapp

현재 상황

코틀린 언어로 안드로이드 앱 개발을 하다 보면, 필요에 따라 확장 함수들을 여러 개 만들어 사용하게 됩니다. 가장 큰 목적은 중복 코드 사용 문제를 해결하기 위함이지요. 의도는 좋습니다. 효과도 있어요. 그런데 문제는요... 앱별로 확장 함수를 각각 만들다 보면, 동일한 기능을 하는 함수를 여러 앱 프로젝트에서 중복으로 구현된다는 것입니다. 더 심각한 것은 동일 기능을 수행하는 확장 함수의 코드가 프로젝트별로 다 다를 수도 있다는 것이예요. 이런 함수들이 쌓이면, 코드를 개발 및 관리하는 개발자 입장에서는 얼마나 짜증나는 일입니까!


확장함수 어떻게 관리할까?

사이드 프로젝트로 스팀 앱을 개발하면서 확장 함수들을 어디에 두면 좋을지가 고민입니다. 안드로이드에 속하는 클래스의 경우 dorian-steem-ui 모듈에 구현했습니다. String 클래스 확장은 dorian-steem-domain 모듈에 구현했어요. 이들을 그대로 두는게 좋을까요? 아니면 다른 모듈로 이동하는 게 좋을까요? 현재 내가 고려 중인 방안은 다음과 같습니다.

(1) 안드로이드에 속하는 클래스 확장: 새 모듈 dorian-android-ktx (가칭) 모듈로 이동
(2) 코틀린 언어 제공 클래스 확장: 새 모듈 dorian-general-ktx (가칭) 모듈로 이동

확장 함수의 집합은 그 자체로 한 부류의 역할을 한다고 봅니댜. 그래서 별도의 모듈로 구현하는 것이 낫겠다고 판단하지요. 게다가 별도 모듈로 구현하면, 이를 라이브러리로 빌드하여 다른 앱에서도 사용할 수 있습니다. 재활용성 코드를 만든다는 점에서 작지 않은 의미가 있다고 생각해요. 이 포스트를 마치고 작업을 시작할 것입니다.


지난 안드로이드 앱 개발기


Layout provided by Steemit Enhancer hommage by ayogom
Sort:  

안녕하세요.
SteemitKorea팀에서 제공하는 'steemit-enhancer'를 사용해 주셔서 감사합니다. 개선 사항이 있으면 언제나 저에게 연락을 주시면 되고, 관심이 있으신 분들은 https://cafe.naver.com/steemitkorea/425 에서 받아보실 수 있습니다. 사용시 @응원해 가 포함이 되며, 악용시에는 모든 서비스에서 제외될 수 있음을 알려드립니다.

[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.


안녕하세요.
이 글은 SteemitKorea팀(@ayogom)님께서 저자이신 @dorian-mobileapp님을 응원하는 글입니다.
소정의 보팅을 해드렸습니다 ^^ 항상 좋은글 부탁드립니다
SteemitKorea팀에서는 보다 즐거운 steemit 생활을 위해 노력하고 있습니다.
이 글은 다음날 다시 한번 포스팅을 통해 소개 될 예정입니다. 감사합니다!

Upvoted! Thank you for supporting witness @jswit.

개발 포스팅 너무 좋습니다~~ 항상 응원합니다~~

감사합니다. 열심히 할께요.

Coin Marketplace

STEEM 0.18
TRX 0.14
JST 0.029
BTC 58248.35
ETH 3136.18
USDT 1.00
SBD 2.36