-
О контрольном списке
Этот контрольный список предназначен для использования в качестве напоминания, а не как то, что должно быть в каждом проекте. Некоторые небольшие проекты могут быть практически «сделаны» и не требуют большой активности. Некоторые проекты просты в использовании по умолчанию и не требуют кучи документации. Тем не менее, более крупные и масштабные проекты требуют более пристального внимания, поэтому имейте в виду, с каким типом проекта вы имеете дело.
Могу ли я даже использовать его?
- Соответствует ли он вашим требованиям и/или его можно расширить?
- Вам действительно нужен пакет для этой задачи?
- Что такое лицензия? (Безопасный выбор: Массачусетский технологический институт)
- Версия номер 1 или выше? (Если это 0-что-то, то почему?)
- Есть ли журнал изменений? (Иначе будет больно обновлять)
- Есть ли примеры, учебные пособия, документация и т. д.?
- Какой размер сборки? (Или каждый модуль можно импортировать отдельно?)
- Какие браузеры поддерживаются?
- Есть ли поддержка машинописного текста?
Здоровье проекта
- Когда он был выпущен в последний раз?
- Какие-нибудь коммиты в последнее время?
- Сколько звезд на гитхабе? (Слишком много звезд тоже иногда может быть плохим признаком. Проект может быть замусорен функционалом, который вам не нужен, если он очень популярен)
- Сколько еженедельных загрузок на npmjs.com?
- Сколько открытых вопросов? Есть ли ответ на эти вопросы?
- Поиск задач со словами «умер», «умираю», «у меня нет времени» и т. д.
- Есть несколько соавторов?
- О чем говорят хакерские новости, Reddit, переполнение стека и т. д.?
- Существуют ли другие подобные проекты, которые могут устареть?
- Он современный? Есть ли выпуски, где авторы выражают желание модернизировать, но не имеют времени?
Качество кода
- Просмотрите код (это, вероятно, самый важный пункт в этом списке)
- Вы бы чувствовали себя комфортно, прыгая в код и делая запрос на включение?
- Актуален ли код с современным javascript? (обещания вместо обратных вызовов и т. д.)
- Форматирование кода в порядке? (Линтер был бы хорош)
- Есть тесты? (И можно ли тестировать код?)
- Проблемы в основном баги или просто вопросы?