Важна ли модульность в библиотеках?

#modularity

#модульность

Вопрос:

Я собираюсь начать писать библиотеку, которая должна быть как можно более легкой.

В этой библиотеке будет несколько модулей, которые могут действовать независимо, но все же могут работать вместе для достижения более масштабной цели, если пользователь того пожелает.

Должен ли я предоставить средства для компиляции «только части» библиотеки? Должен ли я ждать, пока он не станет достаточно большим, чтобы «оно того стоило»? Где мне провести эту линию?

Ответ №1:

Если вы хотите, чтобы кто-нибудь пользовался вашей библиотекой (и она вам понравилась), то да, вам нужно сделать ее не просто модульной. Модульность подразумевает, что «эти компоненты предназначены для совместного использования, и если вы используете их с чем-то еще, это будет нелегкая борьба».

Каждый из ваших модулей должен быть таким же простым в использовании из моего кода, как и из вашего.

Вам нужно рассматривать каждый компонент как отдельную библиотеку, а не просто как отдельный модуль.

Пользователю решать, какие библиотеки использовать, и как подключить их к пользовательскому коду. С помощью какой-либо модульной системы вы уже приняли архитектурные решения и пытаетесь внедрить приложение пользователя в свой дизайн.

Комментарии:

1. Отличный ответ. Я сейчас запущу ветку для поддержки этого! 🙂