android10/Android-CleanArchitecture

Refactor project structure to one single module?

Open

#112 ouverte le 15 févr. 2016

Voir sur GitHub
 (31 commentaires) (0 réactions) (0 assignés)Java (3 329 forks)batch import
WIPdiscussionhelp wanted

Métriques du dépôt

Stars
 (15 449 stars)
Métriques de merge PR
 (Aucune PR mergée en 30 j)

Description

Hi guys, as you can see I have been working on a single module project structure. Here is the PR: https://github.com/android10/Android-CleanArchitecture/pull/103

I'm not saying that I will land it but I do want to start a discussion around it and see pros and cons for either a single module project or multi module project.

The first couple of things that came to my mind:

Advantages:

  • Scalability: package organization into features so working with a feature team model will fit better, specially when the number of contributors to the codebase is big.
  • Scope: favors exposure to only necessary members (removes many public methods from feature specific classes).
  • Build System: less overhead since building logic sits on only one project and we do not have to maintain many build.gradle files for each project (better performance?).

Drawbacks:

  • Clarity: by having 3 modules, each layer responsibility is very clear.
  • Dependency with the framework: By having only one android module we are exposed to make mistakes and break both dependency rule and dependency on android/java framework.

A few extra eyes are very appreciated, so let's try to find the best way to keep on improving this codebase.

@spirosoik @Trikke @caseykulm I mention you guys since have been collaborating a lot. Thanks! Feel free to involve anyone here :smiley:

Guide contributeur