Lucene.NET Contributor's Guide
Нашли баг или у вас есть идея для крутого нового улучшения? Внесение кода — отличный способ внести свой вклад в сообщество открытого исходного кода. Прежде чем погрузиться прямо в код, есть несколько рекомендаций, которым мы просим следовать участников, чтобы у нас была возможность держать всё под контролем.
Начало работы
- Прочитайте Этикет участия в проектах с открытым исходным кодом и Не «проталкивайте» свои запросы на вытягивание.
- Убедитесь, что у вас есть учётная запись GitHub. ПРИМЕЧАНИЕ: хотя это зеркало нашего репозитория Git, запросы на вытягивание принимаются через GitHub.
- Если вы думаете о добавлении функции, мы будем признательны, если вы откроете обсуждение в нашем списке рассылки для разработчиков, прежде чем начнёте писать. Это может сэкономить как вам, так и нашей команде немало работы, если код не придётся переписывать в соответствии с нашими общими целями.
- Отправьте новый вопрос на GitHub, если его ещё нет.
- При сообщении об ошибке чётко опишите проблему, включая шаги для воспроизведения, наблюдаемое поведение и ожидаемое поведение.
- Предоставьте исходный код, который мы сможем запустить без каких-либо изменений, демонстрирующий проблему. Вопросам, отправленным с исполняемым кодом, будет уделяться более высокий приоритет, чем тем, которые отправлены без него.
- Если вы будете отправлять запрос на вытягивание, разветвите репозиторий на GitHub.
ПРИМЕЧАНИЕ: В прошлом проект Lucene.NET использовал систему отслеживания проблем JIRA, которая теперь устарела. Однако мы сохраняем её активной для отслеживания устаревших проблем. Пожалуйста, отправляйте все новые проблемы на GitHub.
Что можно сделать
Есть несколько открытых вопросов на GitHub, помеченных как up-for-grabs
, с которыми нам могла бы понадобиться помощь.
Другие способы помочь
- Станьте мощным бета-тестером. Сделайте своей миссией отслеживание ошибок и сообщайте о них нам на GitHub.
- Оптимизация кода. Во время портирования у нас получился код, который менее чем оптимален. Мы могли бы воспользоваться помощью, чтобы всё ускорить (каламбур).
- Помощь в обновлении API или, по крайней мере, просто предоставление обратной связи о том, какие изменения API влияют на удобство использования. Есть несколько вещей, которые находятся в поле нашего зрения, например, интеграция чего-то вроде Lucene.Net.Linq непосредственно в наш проект, преобразование оставшихся общедоступных классов итераторов в
IEnumerator<T>
, чтобы их можно было использовать с циклами foreach, добавление методов расширения для устранения необходимости приведения типов и т. д.
- Создание демонстраций и руководств, ведение блога о Lucene.Net и т.д. (и предоставление отзывов о том, как мы можем улучшить API!). Если вы напишете полезный пост о Lucene.Net в своём блоге, обязательно сообщите нам, чтобы мы могли дать ссылку на него.
- Помощь с документацией. Мы всё ещё пытаемся сделать документацию по API легкодоступной (см. #206), и есть много файлов, которые отформатированы неправильно (ссылки не отображаются, таблицы не очень читаемы и т. д.). Кроме того, нам нужна помощь в преобразовании всей документации, связанной с Java, для использования методологий .NET.
- Исправление TODO. В коде есть несколько задач, которые необходимо просмотреть и принять меры, если это необходимо. Найдите
LUCENENET TODO
, используя опцию регулярного выражения в Visual Studio, чтобы найти их. Обратите внимание, что существует множество задач TODO, оставшихся от Java Lucene, которые можно игнорировать.
- Рецензирование кода. Выберите случайный раздел, просмотрите построчно, сравнивая код с оригинальным Lucene 4.8.0. Создание проектов, которые упростят использование Lucene.Net с различными фреймворками .NET (ASP.NET MVC, WebApi, AspNetCore, WPF, EntityFramework и т. д.). В целом мы хотим сделать так, чтобы общие задачи было максимально просто интегрировать в приложения, построенные на этих фреймворках, без необходимости писать один и тот же шаблонный код для всех.
Создание инструментов автоматизации, которые помогут избавиться от части ручной работы по управлению проектом, обновлению информации на различных веб-страницах, созданию инструментов для более автоматизированного переноса/обновления и т.д.
Или, если ничего из этого вас не интересует, присоединяйтесь к нашему списку рассылки для разработчиков (dev mailing list) и спросите!
Спасибо за вашу помощь!
Ещё раз большое спасибо за ваш вклад. Да пребудет с вами форк!
Опубликовать ( 0 )