1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/TheAlgorithms-Ruby

Клонировать/Скачать
CONTRIBUTING.md 9 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 11:34 3daf046

Руководство по внесению вклада

Прежде чем вносить вклад

Добро пожаловать в TheAlgorithms/Ruby! Прежде чем отправлять свои запросы на включение, убедитесь, что вы прочитали все руководство. Если у вас есть какие-либо сомнения относительно руководства по внесению вкладов, пожалуйста, не стесняйтесь чётко изложить их в проблеме или спросить сообщество в Gitter.

Вклад

Автор вклада

Мы очень рады, что вы рассматриваете возможность реализации алгоритмов и структур данных для других! Этот репозиторий используется и упоминается учащимися со всего мира. Будучи одним из наших авторов, вы соглашаетесь и подтверждаете, что:

  • Вы выполнили свою работу — плагиат не допускается.
    • Любая работа, содержащая плагиат, не будет объединена.
  • Ваша работа будет распространяться под лицензией MIT, как только ваш запрос на включение будет объединён.
  • Представленная вами работа соответствует или в основном соответствует нашим стилям и стандартам.

Новые реализации приветствуются! Например, новые решения проблемы, различные представления структуры данных графа или дизайны алгоритмов с различной сложностью, но идентичная реализация существующей реализации не допускается. Пожалуйста, проверьте, была ли уже реализована решение, прежде чем отправлять свой запрос на включение.

Также приветствуются улучшение комментариев и написание надлежащих тестов.

Вклад

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

Ваш вклад будет проверен нашей автоматизированной системой тестирования на Travis CI (https://travis-ci.org/TheAlgorithms/Ruby/pull_requests), чтобы сэкономить время и умственные усилия. После того как вы отправили свой запрос на включение, вы должны увидеть, как тесты Travis начинают выполняться внизу вашей страницы отправки. Если эти тесты завершатся неудачно, нажмите кнопку details и попробуйте прочитать вывод Travis, чтобы понять причину неудачи. Если вы не понимаете, пожалуйста, оставьте комментарий на своей странице отправки, и член сообщества попытается вам помочь.

Пожалуйста, помогите нам сохранить список проблем небольшим, добавляя исправления: #{$ISSUE_NO} к сообщению коммита запросов на включение, которые решают открытые проблемы. GitHub будет использовать этот тег для автоматического закрытия проблемы при объединении PR.

Что такое алгоритм?

Алгоритм — это одна или несколько функций (или классов), которые:

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

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

Алгоритмы должны:

  • иметь интуитивно понятные имена классов и функций, которые делают их назначение ясным для читателей;
  • использовать соглашения об именовании Ruby и интуитивно понятные имена переменных для облегчения понимания;
  • быть гибкими, чтобы принимать разные входные значения;
  • иметь подсказки типов Ruby для своих входных параметров и возвращаемых значений;
  • вызывать исключения Ruby при ошибочных входных значениях;
  • возвращать все результаты вычислений вместо их печати или построения графиков.

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

Другие требования к представленным материалам

  • Если вы отправляете код в каталог project_euler/, пожалуйста, также прочитайте специальное руководство перед внесением вклада в нашу библиотеку Project Euler.

  • Строго используйте snake_case (разделенные подчеркиванием) в вашем file_name, так как это будет легко анализировать в будущем с помощью скриптов.

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

  • Если возможно, следуйте стандарту внутри папки, которую вы представляете.

  • Если вы изменили/добавили код, убедитесь, что код... Перед отправкой компилируется.

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

  • Не обновляйте файлы README.md или DIRECTORY.md, которые будут периодически автоматически генерироваться нашими процессами Travis CI.

  • Добавьте соответствующее объяснение на страницу Algorithms-Explanation (необязательно, но рекомендуется).

  • Самое главное:

    • Будьте последовательны в использовании этих рекомендаций при отправке.
    • Присоединяйтесь к Gitter прямо сейчас!
    • Счастливого кодирования!

Автор @vbrazo, декабрь 2020 года.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/TheAlgorithms-Ruby.git
git@api.gitlife.ru:oschina-mirror/TheAlgorithms-Ruby.git
oschina-mirror
TheAlgorithms-Ruby
TheAlgorithms-Ruby
master