Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

stepango/Archetype

Repository files navigation

Archetype

codebeat badge Build Status

Badass MVVM architecture.

At the moment Archetype contains implementation of Android Dev podcast player.

Official Telegram chat https://t.me/archetype_android

Mobius Russia 2017 Talk https://www.youtube.com/watch?v=M3fTMBfmBqU&t=1380s

Main libraries and concepts

Build

Project uses Gradle as build system. You can find main gradle config for Android app module here: app/build.gradle

Code organisation rules:

Basic

  • All or no arguments should be named when pass to function, partial naming is not allowed

Kotlin

  • Order of declarations inside class or file: val, var, constructor, init, fun, private fun

DataBindings

  • All general function's annotated with @BindingAdapter should be stored in *.databindings package, filename should be 'ViewName'Bindings.kt.
  • @BindingAdapter functions that couldn't be reused should be stored in file that contains related VM or should be grouped in separate file named 'Feature'Bindings.kt
  • All all bindings in xml should start with bind: prefix
  • All ViewModels in XML should be named vm

Gradle

  • All lib and gradle plugin versions should be stored in root build.gradle file.

Rx

  • Subscribing to observable allowed only with subscribeBy or bindSubscribe extension methods.

About

[DEPRECATED]Badass MVVM architecture.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

AltStyle によって変換されたページ (->オリジナル) /