-

О контрольном списке

Этот контрольный список предназначен для использования в качестве напоминания, а не как то, что должно быть в каждом проекте. Некоторые небольшие проекты могут быть практически «сделаны» и не требуют большой активности. Некоторые проекты просты в использовании по умолчанию и не требуют кучи документации. Тем не менее, более крупные и масштабные проекты требуют более пристального внимания, поэтому имейте в виду, с каким типом проекта вы имеете дело.

Могу ли я даже использовать его?

  • Соответствует ли он вашим требованиям и/или его можно расширить?
  • Вам действительно нужен пакет для этой задачи?
  • Что такое лицензия? (Безопасный выбор: Массачусетский технологический институт)
  • Версия номер 1 или выше? (Если это 0-что-то, то почему?)
  • Есть ли журнал изменений? (Иначе будет больно обновлять)
  • Есть ли примеры, учебные пособия, документация и т. д.?
  • Какой размер сборки? (Или каждый модуль можно импортировать отдельно?)
  • Какие браузеры поддерживаются?
  • Есть ли поддержка машинописного текста?

Здоровье проекта

  • Когда он был выпущен в последний раз?
  • Какие-нибудь коммиты в последнее время?
  • Сколько звезд на гитхабе? (Слишком много звезд тоже иногда может быть плохим признаком. Проект может быть замусорен функционалом, который вам не нужен, если он очень популярен)
  • Сколько еженедельных загрузок на npmjs.com?
  • Сколько открытых вопросов? Есть ли ответ на эти вопросы?
  • Поиск задач со словами «умер», «умираю», «у меня нет времени» и т. д.
  • Есть несколько соавторов?
  • О чем говорят хакерские новости, Reddit, переполнение стека и т. д.?
  • Существуют ли другие подобные проекты, которые могут устареть?
  • Он современный? Есть ли выпуски, где авторы выражают желание модернизировать, но не имеют времени?

Качество кода

  • Просмотрите код (это, вероятно, самый важный пункт в этом списке)
  • Вы бы чувствовали себя комфортно, прыгая в код и делая запрос на включение?
  • Актуален ли код с современным javascript? (обещания вместо обратных вызовов и т. д.)
  • Форматирование кода в порядке? (Линтер был бы хорош)
  • Есть тесты? (И можно ли тестировать код?)
  • Проблемы в основном баги или просто вопросы?