👇🏾 Как выбрать библиотеку не отстрелив себе тестикулы
Вот смотришь на либу в Github и не понимаешь стоит ли ее использовать, или нет
Напишу набор действий, которые делаю я:
– Почитайте код релизов – если библиотека должна развиваться, а релизы были давно или они про изменение доки / 1 строчки кода, то плохо
– Много ли контрибьютор и как часто они коммитят
– Читаем Issues (особенно закрытые) – сколько закрыто, как давно, как много открыто, есть ли среди них критичные для вас моменты. Я находил либы, в которых авторы просто подряд закрывали абсолютно все Issues без ответа и люди недоумевали, что происходит.
– Как много вопросов и ответов на StackOverflow, если много, то хорошо
– Как много статей в интернете по названию библиотеки
и какой они даты
– Лучше, чтобы библиотека не зависела от кучи других, потому что контрибьютить, придется делать изменения не только в самой либе, но и в завсимостях
– Лучше, чтобы библиотека была в рамках одного стэка – например, в Prisma у вас будет идти еще Rust библиотека трансляции запроса в SQL, а значит чтобы поправить в ней баг, придется править не только JS / TS код, но и Rust
– Есть ли тесты на код – если есть, то это лучше, чем документация
Пример на Objection.js
Под постом выше спросили про то, что я думаю, про Objection.js, я пошел освежить память, потому что давно им не пользовался:
–
Релиз есть свежий, но он один... до этого релизами не пользовались, поэтому идем в commits и видим что коммиты раз в полгода... для ORM – очень плохо, потому что БД и задачи к БД постоянно развиваются, значит и ORM должна
– Среди контрибьюторов есть создатель Knex – это хорошо
– Идем в Issues и
видим, что создатель не может поддерживать эту либу (а энтузиастов так и не нашлось) и сам называет ее устаревшей
На этом уже можно остановится и подвести итог – библиотека мертва