Skip to content

Refactor project structure to one single module? #112

Open
@android10

Description

@android10

Hi guys, as you can see I have been working on a single module project structure.
Here is the PR: #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 😃

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions