Skip to content

Latest commit

 

History

History
52 lines (40 loc) · 3.75 KB

CONTRIBUTING.RU.md

File metadata and controls

52 lines (40 loc) · 3.75 KB

Поведение никогда не будет соответсвовать корпусу на 100%, т.к.

  • библиотека должна оставаться компактной,
  • библиотека не предназначена для имён собственных, хоть и может с горем пополам их обрабатывать,
  • корпус сам по себе может содержать нерегулярности.

Основные тесты не могут быть включены в release из-за лицензии корпуса. Вместо них, тут есть простые тесты, где проверяется в основном API и некоторые конкретные случаи (например, упоминающиеся в README).

Простота поддержки важнее компактности кода.


Внося изменения в этот репозиторий через pull-реквесты, вы гарантируете:

  1. Вы являетесь автором кода.
  2. Вы публикуете его на условиях лицензии MIT.

Если же нужно перетащить сторонний код под лицензией MIT или другой пермиссивной лицензией, лучше открыть Issue, где можно будет обсудить, как сохранить указание авторства.

Приветствуются указания на статьи и книги.

С чужим кодом может возникнуть ситуация, когда автор не хочет ассоциироваться с этой библиотекой. Видел, в некоторых библиотеках делают копирайты у отдельных фрагментов кода.


Алгоритм внесения изменений:

  1. форкаем репозиторий
  2. клонируем на локальную машину
  3. переходим в ветку dev
  4. запускаем ruby serve-with-ruby.rb
  5. проверяются текущие результаты по адресу http://localhost:9090/testing.html
  6. правка вносится в файл js/RussianNouns.js (нужно добавить свой копирайт, если его еще нет)
  7. запускается check.sh (он должен отработать без ошибок) — будет сгенерирован js/RussianNouns.min.js
  8. проверяются новые результаты по адресу http://localhost:9090/testing.html
  9. если результаты стали сильно лучше, пушим в dev своего репозитория; иначе возвращаемся к шагу 6
  10. делаем пулл реквест из своего dev в мой dev
  11. копируем на локальной машине js/RussianNouns.js и js/RussianNouns.min.js в какую-то другую папку
  12. переключаемся в ветку release
  13. перезаписываем RussianNouns.js и RussianNouns.min.js своей новой версией
  14. npm test должен отработать без ошибок; иначе выясняем в чем проблема, и если это не связано с устареванием API в тесте, переходим снова в dev и возвращаемся к шагу 6
  15. коммитим, пушим, делаем пулл-реквест (по названию должно быть понятно, что два пулл-реквеста связаны)