Для того, чтобы продукт PHP стал успешным, нужно не только содержание в нем полезного кода. Данный чеклист поможет вашему продукту PHP быть быть серьезно воспринятым сообществом PHP.
Перевод этого чеклиста
Выбирайте название с умом
-
Убедитесь, что имя еще не используется в другом проекте
-
Следите за соответствием между названием и используемым пространством имен
-
Избегайте использования ников и фамилий в ваших пространствах имен
Делайте исходники открытыми
-
Для открытых проектов в свободном использовании GitHub
-
GitHub полезен для управления багами, фичами и pull request-ами
-
Альтернатива: bitbucket
Дружественный автозагрузчик
-
Используйте psr-4-совместимые пространства имен для автозагрузчиков
-
Размещайте код в папке src
Распростаняйте через composer
-
Сделайте свои библиотеки доступными через composer
-
Разместите продукт в Packagist (самый распространенный репозиторий composer-а)
Будьте критичны к фреймвокам
-
Не ограничивайтесь только одним фреймворком в своём проекте
-
Предлагайте поддержку специфичного фреймворка путем предоставления Service Provider-ов
Придерживайтесь стандартов написания кода
Пишите юнит-тесты
Пишите докблоки
-
Докблоки - это готовая встроенная документация
-
Также они могут улучшить код-completion в таких средах разработки как PhpStorm
-
Возможна автоматическая конвертация в API-документацию, см phpDocumentor
Семантическое версионирование
-
Используйте Semantic Versioning для управления номерами весрий вашего продукта
-
Придерживайтесь системы MAJOR.MINOR.PATCH
-
СВ позволит разработчикам безопасно обновляться
-
Не забывайте помечать релизы своевременно
Поддерживайте логи измений
-
Показывайте значимые изменения между релизами
-
Рассмотрите возможность следования формату Keep a CHANGELOG
Используйте непрерывную интеграцию
-
Используйте средства автоматической проверки стандартов кодирования и запуска тестов
-
Хороший вариант - запускать тесы для разных версий PHP
-
Можно автоматически запускать при отправке pull-request
-
Посмотрите: Travis-CI, Scrutinizer, Circle-CI
Пишите обширную документацию
-
Хорошая документация имеет жизненно важное значение для любого пакета
-
Как минимум создайте детальный README в вашем репозитории
-
Рассмотрите возможность размещения документации на GitHub Pages
-
Альтернативный вариант:Read the Docs
Укажите лицензию
-
Лицензия - простой способ обезопасить работу, которую вы уже сделали
-
См choosealicense.com. Большинство проектов на php используют MIT License.
-
Как минимум сделайте файл LICENSE в вашей библиотеке
-
Подумайте над тем, чтобы включать лицензию в докблок
Сторонняя помощь
-
Если вы хотите помощи, не забудьте попросить об этом
-
Создайте файл CONTRIBUTING приветсвуя вклад в реализацию проекта
-
Используйте этот файл для объяснения требований проекта (например тесты)