콘텐츠홈과 토스홈 로직 중복 문제

토스 홈

IMG_FD3CAB218943-1.jpeg

문제상황

콘텐츠 홈

스크린샷, 2024-06-15 오후 4.59.50.jpeg

private fun getCategories(card: ContentCard): List<String> {
    if (card.source == TossCompany.BANK) {
        return listOf("전체", "생활")
    }

    if (card.source == TossCompany.SECURITIES) {
        return listOf("전체", "투자")
    }

    val availableCategories = card.categories.filter { it in availableCategories }

    if (card.osAppVersion.홈_콘텐츠_아티클_태그_여러개_지원_버전()) {
        return listOf("전체") + availableCategories
    }

    if (availableCategories.isEmpty()) {
        return listOf("전체", "생활")
    }

    return listOf("전체", availableCategories[0])
}

근데 화면이 다르니까 언제든 다르게 진화할 가능성은 있는데 예를 들어 8할은 같이 진화하고 2할 정도 다르게 진화하면 어떻게 처리해야할까?

→ 코드 상으로 어떻게 구현하면 좋을까?