Best Practices for Building a Modularized App

While splitting application code into multiple modules is not necessarily a new practice, it is becoming an increasingly popular way to organize bulky code. With that being said, building a modular app requires expertise and deep knowledge of coding principles and their workflows, and it's important to keep some best practices in mind.

This is a companion discussion topic for the original entry at

What are the common problems of not using these best practices?