TGViewer
MobDev Portal | Мобильная Разработка MobDev Portal | Мобильная Разработка @mobdevportal · 5.38K subscribers
Post #279 2.99K
Одна из самых больших проблем в крупных Kotlin-проектах — поддержание консистентности, но обеспечить её сложно: это означает бесконечные напоминания и споры в PR'ах. Здесь и проявляет себя Konsist — относительно новая библиотека для Kotlin.

Konsist позволяет проверять следующее:
🔸Каждый наследник ViewModel должен иметь суффикс ViewModel
🔸Классы с аннотацией @Repository должны находиться в пакете ..repository..
🔸Параметры конструктора должны быть отсортированы в алфавитном порядке
🔸Имена параметров конструктора должны быть производными от имени класса
🔸Инъекция через поля и префикс m запрещены
🔸Каждый публичный член в пакете api должен быть задокументирован с помощью KDoc

Также Konsist позволяет проверять архитектуру проекта. Например, Clean Architecture:
🔸Domain-слой независим
🔸Data-слой зависит от Domain-слоя
🔸Presentation-слой зависит от Domain-слоя

Как же он соотносится с ArchUnit?

ArchUnit работает с байткодом JVM и не учитывает специфику Kotlin. Konsist анализирует код непосредственно и понимает Kotlin, а также намного проще в использовании.

Для меня Konsist — это инструмент для обеспечения консистентности проекта. Достаточно договориться о правилах, написать unit-тесты — и обсуждения в PR'ах больше не нужны, так как правила теперь соблюдаются автоматически ✌️

👉 @MobDevPortal | #tips
  • 👍 5
  • ❤ 2
More from @mobdevportal
  1. Oct 6, 2026Хватит просить модель собирать интерфейсы с нуля. Просто дайте ей эту библиотеку для Swift…
  2. Oct 6, 2026⚡️⚡️Когда API недостаточно: хардкорные доклады на Mobius Mobius — профильная конференция п…
  3. Aug 25, 2026Совет по SwiftUI Используйте role у кнопок, чтобы явно указать SwiftUI, какое действие вып…
  4. Aug 25, 2026Пикер реакций в стиле Apple Music на SwiftUI https://youtu.be/fHV6YiodOi4 👉 @MobDevPortal
  5. Aug 8, 2026Совет по SwiftUI В iOS 26+ используйте SubscriptionOfferView, чтобы отображать компактное…
  6. Aug 8, 2026Интерактивный слайдер таймлайна из приложения Apple Sports на SwiftUI https://youtu.be/TAd…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →