Страницы

Поиск по вопросам

суббота, 7 декабря 2019 г.

Целесообразность создания composer-пакета для интерфейса

#php #composer


У меня есть 2 небольшие библиотеки (буквально по 1 классу) оформленные как пакеты
composer, они решают одинаковые задачи, просто разным подходом.

Без использования интерфейсов или абстракции, я их привел к единообразному API, и
у меня прям руки чешутся написать для них интерфейс (вот такой вот реверс). Но писать
одинаковые интерфейсы в разные репозитории - как-то совесть не позволяет.

Насколько это целесообразно под один интерфейс выделять целый пакет (возможно, composer.json
будет больше весить чем файл с интерфейсом)? Есть более красивые решения, без объединения
репозиториев?
    


Ответы

Ответ 1



Подойдите к вопросу практически. Будет ли кто-нибудь использовать обе ваши либы одновременно? Если ваш ответ нет, то не заставляйте програмеров выкачивать сложные иерархии либ только чтобы сыкономить на одном файле. Мне нравятся либы без зависимостей, с ними мало проблем. Так как они сами по себе то никакие зависимости сломатся не могут, гемороя по минимуму. Тогда и в интерфейсе смысла не очень то много, это фиктивная абстракция которая никому не нужна. Если ваш ответ да, то смысла в трех пакетах ради двух классов и одного интерфеса вообще ноль. Если кому-то нужны две либы сразу, а они такие маленькие, то зачем вообще делить то? Пусть будет одна со всеми функциями сразу. Вот если бы ваши либы были дико сложными, с кучей кода, разными зависимостями, если бы использовались обе сразу, то тогда можно устраивать сложную иерархию пакетов, будет практический смысл. Короче, не делайте простое сложно, код красивей не станет.

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

Отправить комментарий