Написание хорошего выпуска

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

Предварительная работа

Есть вопросы?

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

Проверьте наличие дубликатов

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

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

Сообщить об ошибке

Итак, вы думаете, что обнаружили ошибку? Большой! Нам нравится слышать отчеты об ошибках, потому что мы хотим, чтобы этот проект был как можно более стабильным. Вот несколько шагов, которые вы можете выполнить, чтобы исправить ошибку.

  1. Проверьте наличие дубликатов
  2. Соберите доказательства
  3. Найдите проблему
  4. Укрепите свою репродукцию
  5. Предложить причину
  6. Напишите свою проблему!

Соберите доказательства

Как правило, чем больше информации содержит ваша ошибка, тем лучше. Вот несколько вещей, которые вы можете предоставить:

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

Найдите проблему

Между основной библиотекой, плагинами, примерами и лабораториями кода у нас много кода Blockly. Помогите нам, сообщив нам, в чем именно заключается проблема.

Если проблема в ядре, то в каком компоненте? Например, это может быть проблема с набором инструментов, элементами управления масштабированием или библиотечными блоками. Будьте как можно более конкретными.

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

Укрепите свою репродукцию

Ошибку можно исправить только в том случае, если она воспроизводима, поэтому, прежде чем сообщать о проблеме, убедитесь, что у вас есть надежный способ вызвать ошибку.

В итоге у вас должен получиться пронумерованный список шагов, которые подскажут разработчику, как воспроизвести ошибку. Например:

  1. Откройте лабораторию кода X.
  2. Перейдите на страницу Y.
  3. Запустите пример кода Z.
  4. Обратите внимание на плохое поведение, которое похоже на W.

Если ваша проблема связана с ядром Blockly, попробуйте воспроизвести ее на игровой площадке .

Предложить причину

Если вы считаете, что знаете, почему возникает ошибка, включите и эту информацию. Опять же, будьте как можно конкретнее.

Напишите свою проблему!

Пришло время написать отчет об ошибке. Выберите свой репозиторий:

Обязательно заполните все разделы шаблона вопроса, даже те, которые здесь не подробно описаны.

Благодарим вас за интерес, проявленный к сообщению об ошибке, и удачи в написании проблем!

Что дальше?

  • Ваш отчет об ошибке автоматически помечается для сортировки.
  • Дежурный член команды Blockly осмотрит и, возможно, задаст уточняющие вопросы. Они также добавят метки, которые мы используем для систематизации наших ошибок.
  • Проблема может иметь пометку «Требуется помощь», и в этом случае вы можете заявить о ней и начать работу над ней.
  • Проблема может быть передана для устранения члену команды Blockly.
  • Задача может быть отмечена ежеквартальной вехой, чтобы указать, когда она будет завершена.
  • Проблема может быть помещена в веху Icebox, а это значит, что мы не собираемся над ней работать в обозримом будущем.
    • Это может произойти из-за низкочастотных проблем или ошибок с известными обходными путями.
    • Вы все еще можете работать над проблемами Iceboxed.
  • Проблема может быть помещена в этап Bug Bash Backlog, что означает, что она не является срочной, но мы все равно хотим ее исправить.
    • В конце каждого квартала команда тратит несколько недель на работу над ошибками, обнаруженными на этапе Bug Bash Backlog.
  • При необходимости проблема может быть перенесена из ядра Blockly в блочные образцы (или в противоположном направлении).
  • Вопрос можно закрыть.

Запрос функции

Есть ли что-то, что вы хотите изменить, чтобы сделать Blockly лучше? У вас есть идея для плагина, примера или лаборатории кода? Возможно, один из них вам уже нравится, и вы придумали, как его улучшить. Если да, то вы попали по адресу! Вот шаги, которые помогут вам создать отличный запрос на функцию, который получит ответ.

  1. Проверьте наличие дубликатов
  2. Проверьте требования
  3. Соберитесь с мыслями
  4. Напишите свой запрос на добавление функции!

Проверьте требования

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

Вот рекомендации для каждой категории проектов:

  • Блочное ядро
  • Плагины
  • Примеры: покажите, как использовать только одну или две функции Blockly.
  • Codelabs: покажите, как выполнить одну задачу или реализовать одно поведение.

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

Если вы не уверены, подходит ли что-то, попробуйте опубликовать это на наших форумах разработчиков . И помните: даже если ваша идея не будет принята, мы все равно будем рады, если вы создадите ее в виде стороннего плагина или учебного пособия!

Соберитесь с мыслями

Ваша идея не обязательно должна быть на 100% конкретизирована с помощью мишуры и диаграмм, прежде чем вы приступите к отправке, но вы должны иметь четкое представление о том, что вы ищете. Вот несколько хороших вопросов, над которыми стоит задуматься, прежде чем начать писать:

  • Зачем мне эта функция?
  • Эта функция решает проблему?
  • На кого рассчитана эта функция?
  • Почему эта функция им полезна?
  • Каковы альтернативные варианты, которые могли бы достичь того же самого?

Как только вы разберетесь с этими вещами, вы уже почти на пути к хорошему запросу функции!

Напишите свой запрос на добавление функции!

Теперь вы готовы написать свой запрос на добавление функции. Выберите свой репозиторий:

Обязательно заполните все разделы шаблона вопроса, даже те, которые здесь не подробно описаны.

Благодарим вас за интерес к отправке запроса на добавление функции и удачи в написании проблемы!

Что дальше?

  • Ваш запрос на функцию автоматически помечается для сортировки.
  • Дежурный член команды Blockly осмотрит и, возможно, задаст уточняющие вопросы. Они также добавят метки, которые мы используем для систематизации наших ошибок.
  • Функция может иметь пометку «Требуется помощь», и в этом случае вы можете заявить о ней и начать над ней работать.
  • Функция может быть передана для реализации члену команды Blockly.
  • При необходимости запрос функции может быть перенесен из ядра Blockly в блочные образцы (или в противоположном направлении).
  • Запрос на функцию может быть закрыт, и в этом случае у вас все равно будет возможность реализовать ее как сторонний плагин.