У Google на всё есть стайлгайды, и, как мне кажется, это отличный подход. Почитайте, написано подробно интересно, с плюсами, минусами и примерами.

Если говорить о хороших подходах, то хочется вспомнить ещё репозитории самого Github. Они выделяют отдельные куски своих проектов в отдельные репозитории, и некоторые выкладывают в Open Source. Это позволяет поддерживать прозрачные связи между компонентами системы, и даёт возможность для комьюнити что-то улучшить. Например, есть список всех gitignore файлов, которые Github предлагает при создании репозитория.

Старайтесь всё документировать и сохранять минимальную связанность компонентов, и проект будет гораздо проще сопровождать.