Skip to content

Refactor project structure to one single module? #112

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 😃

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions