#modularity
#модульность
Вопрос:
Я собираюсь начать писать библиотеку, которая должна быть как можно более легкой.
В этой библиотеке будет несколько модулей, которые могут действовать независимо, но все же могут работать вместе для достижения более масштабной цели, если пользователь того пожелает.
Должен ли я предоставить средства для компиляции «только части» библиотеки? Должен ли я ждать, пока он не станет достаточно большим, чтобы «оно того стоило»? Где мне провести эту линию?
Ответ №1:
Если вы хотите, чтобы кто-нибудь пользовался вашей библиотекой (и она вам понравилась), то да, вам нужно сделать ее не просто модульной. Модульность подразумевает, что «эти компоненты предназначены для совместного использования, и если вы используете их с чем-то еще, это будет нелегкая борьба».
Каждый из ваших модулей должен быть таким же простым в использовании из моего кода, как и из вашего.
Вам нужно рассматривать каждый компонент как отдельную библиотеку, а не просто как отдельный модуль.
Пользователю решать, какие библиотеки использовать, и как подключить их к пользовательскому коду. С помощью какой-либо модульной системы вы уже приняли архитектурные решения и пытаетесь внедрить приложение пользователя в свой дизайн.
Комментарии:
1. Отличный ответ. Я сейчас запущу ветку для поддержки этого! 🙂