Изолируете ли вы сторонние библиотеки с помощью собственной обертки? 
Сейчас у меня в проекте используется достаточно большое количество сторонних библиотек. Для каждой библиотеки я делаю свой класс-обертку, который использую в рамках проекта. Преимущества, на мой взгляд, такие:
Во-первых, легко перейти на следующую версию сторонней библиотеки. После обновления достаточно прогнать тесты классов-оберток, чтобы быть уверенных в работоспособности новой версии.
Во-вторых, даже если после обновления библиотеки тесты перестали завершаться успешно, можно доработать класс-обертку, с учетом изменений произошедших в новой версии библиотеки. Без промежуточного класса для устранения неисправности пришлось бы “причесать” весь код.
В-третьих, интерфейсы своих классов всегда можно адаптировать под текущий проект, так чтобы имена методов выглядели наиболее информативно и естественно.
У данного подхода конечно есть и недостатки. Например, производительность. Это любимый аргумент любого программиста-психопата. Как будто они разрабатывают систему управления атомным реактором, работающую в реальном времени.
На мой взгляд, на оспаривание подобных аргументов не стоит тратит ни сил, ни времени.
Интересно узнать как вы организуете работу со сторонними библиотеками в своем проекте. Используете напрямую или оборачиваете в отдельный класс? Так же интересны аргументы “за” и “против”.
подписаться на блог
dkrnl
Гость
Конечно используем: например оборачиваю wideimage и htmlpurifier.
Первая причина была написание auloader-а.
Evgeny Sergeev
Веб-разработчик, автор блога codeart.ru
dkrnl, тесты пишете? Или еще нет?
Тормоз
Гость
А ты совсем уже не психопат? )
Evgeny Sergeev
Веб-разработчик, автор блога codeart.ru
Тормоз, да я уже фиг знает кто. Кайфа от профессии все меньше. Одна сплошная рутина.
Тормоз
Гость
Понимаю. Что делать?
Тормоз
Гость
А вообще у меня так волнами это находит. Иной раз увлечёшься, и классно. А иногда действительно рутина, и хоть вешайся.
Leave a Reply