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

OSCHINA-MIRROR/EDI-Systems-M5P1_MuProkaron

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
CONTRIBUTING.md 15 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 27.11.2024 02:46 e1d9eaf

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

Объясните, какое поведение вы ожидали увидеть вместо этого и почему.

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

Если вы сообщаете о сбое RMP, включите полный дамп памяти в .hex файле. Многие инструментальные цепочки, такие как Keil или GDB, генерируют эти файлы.

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

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

Предоставьте больше контекста, ответив на следующие вопросы:

  • Можете ли вы воспроизвести проблему?

  • Проблема появилась недавно (например, после обновления до новой версии RMP) или она всегда существовала?

  • Если проблема появилась недавно, можете ли вы воспроизвести её в более старой версии RMP? Какая самая последняя версия, в которой проблема не возникает? Вы можете загрузить старые версии RMP со страницы релизов.

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

Включите сведения о вашей конфигурации и среде:

  • Какую версию RMP вы используете?

  • Как называется и какая версия операционной системы хостинга используется?

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

Предложение улучшений

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

Как подать хорошее предложение по улучшению?

Предложения по улучшению отслеживаются как проблемы GitHub. Создайте проблему в этом репозитории и предоставьте следующую информацию:

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

  • Предоставьте пошаговое описание предлагаемого улучшения как можно подробнее.

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

  • Опишите текущее поведение и объясните, какое поведение вы ожидаете увидеть вместо него и почему.

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

  • Перечислите некоторые другие ОСРВ или приложения, где существует это улучшение.

  • Укажите, какую версию RMP и инструментальную цепочку вы используете.

Запросы на вытягивание

  • Заполните необходимый шаблон

  • Не включайте номера проблем в название PR

  • Включайте скриншоты и анимированные GIF-файлы в свой запрос на вытягивание, когда это возможно.

  • Следуйте C руководствам по стилю.

  • Документируйте новый код на основе Руководства по стилю документации.

  • Завершайте все файлы новой строкой (иначе вы получите массу предупреждений на некоторых инструментальных цепочках)!

  • Избегайте платформозависимого кода, если только вы не работаете над поддержкой нового процессора.

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

Сообщения о фиксации Git

  • Используйте настоящее время («Добавить функцию», а не «Добавлена функция»)

  • Ограничьте первую строку 80 символами или меньше

  • После первой строки свободно ссылайтесь на проблемы и запросы на вытягивание.

  • Рассмотрите возможность начала сообщения о фиксации с соответствующего эмодзи:

    • :rocket: :rocket: при добавлении новых портов или функций
    • :art: :art: при улучшении формата/структуры кода
    • :racehorse: :racehorse: при повышении производительности
    • :non-potable_water: :non-potable_water: при устранении утечек памяти
    • :memo: :memo: при написании документации
    • :penguin: :penguin: при исправлении чего-либо в Linux или GNU toolchain
    • :apple: :apple: при исправлении чего-либо на macOS или Clang/LLVM toolchain
    • :checkered_flag: :checkered_flag: при исправлении чего-либо на Windows или официальном инструментарии производителя
    • :bug: :bug: при исправлении ошибки
    • :fire: :fire: при удалении кода или файлов
    • :green_heart: :green_heart: при исправлении CI сборки
    • :white_check_mark: :white_check_mark: при добавлении тестов
    • :lock: :lock: при работе с надёжностью или формальным доказательством
    • :arrow_up: :arrow_up: при обновлении зависимостей или добавлении функций
    • :arrow_down: :arrow_down: при понижении зависимостей или удалении функций
    • :shirt: :shirt: при устранении предупреждений линтера

Руководство по стилю программирования на C

  • НЕ используйте пробелы вокруг бинарных операторов, особенно «=» и «==". Оставляйте их как есть.
    • a=b вместо a = b
  • Можно использовать пробелы после запятых. Если пробел не используется, это тоже нормально.
    • либо foo(a, b, c), либо foo(a,b,c) — всё в порядке.
  • Всегда используйте (иногда даже избыточно) круглые скобки в логических выражениях.
    • (a==b)||(c==d) вместо a==b||c==d.
  • Добавляйте заголовки и окончания для функций, файлов и блоков кода. См. примеры ниже.
  • Имена должны соответствовать текущему соглашению об именах.
  • Для получения дополнительной информации обратитесь к самому исходному коду.

Пример файла заголовка на C:

    /******************************************************************************
    Filename    : <Filename>.h
    Author      : <Name>
    Date        : <DD/MM/YYYY>
    Licence     : LGPL v3+; see COPYING for details.
    Description : <File description>
    ******************************************************************************/

    /* Define ********************************************************************/
    #ifdef __HDR_DEF__
    #ifndef __<FILENAME>_DEF__
    #define __<FILENAME>_DEF__
    /*****************************************************************************/
    <Place your defines here>
    /*****************************************************************************/
    /* __<FILENAME>_DEF__ */
    #endif
    /* __HDR_DEF__ */
    #endif
    /* End Define ****************************************************************/

    /* Struct ********************************************************************/
    #ifdef __HDR_STRUCT__
    #ifndef __<FILENAME>_STRUCT__
    #define __<FILENAME>_STRUCT__

    /* Use defines in these headers */
    #define __HDR_DEF__
    <Place external define import headers here>
    #undef __HDR_DEF__

    /* We used structs in these headers */
    <Place external struct import headers here>
    /*****************************************************************************/
    <Place struct definitions here>
    /*****************************************************************************/
    /* __<FILENAME>_STRUCT__ */
    #endif
    /* __HDR_STRUCT__ */
    #endif
    /* End Struct ****************************************************************/

    /* Private Variable **********************************************************/
    #if(!(defined __HDR_DEF__||defined __HDR_STRUCT__))
    #ifndef __<FILENAME>_MEMBER__
    #define __<FILENAME>_MEMBER__

    /* In this way we can use the data structures and definitions in the headers */
    #define __HDR_DEF__
    <Place external define import headers here>
    #undef __HDR_DEF__

    #define __HDR_STRUCT__
    <Place external struct import headers here>
    #undef __HDR_STRUCT__

    /* If the header is not used in the public mode */
    #ifndef __HDR_PUBLIC__
    /*****************************************************************************/
    <Place private global variables here> **Пример исходного файла на языке C:**

    /******************************************************************************
    Имя файла: <имя файла>.c
    Автор: <имя>
    Дата: <ДД/ММ/ГГГГ>
    Лицензия: LGPL v3+; подробности см. в файле COPYING.
    Описание: <описание файла>
    ******************************************************************************/

    /* Включить *******************************************************************/
    #define __HDR_DEF__
    <Поместите сюда определения заголовков, которые вы хотите импортировать>
    #undef __HDR_DEF__

    #define __HDR_STRUCT__
    <Поместите сюда заголовки, структуры которых вы хотите импортировать>
    #undef __HDR_STRUCT__

    /* Частное включение */
    <Разместите здесь частные заголовки>

    #define __HDR_PUBLIC__
    <Поместите здесь заголовки, глобальные переменные которых вы хотите импортировать>
    #undef __HDR_PUBLIC__
    /* Конец включения ***********************************************************/

    /* Функция:<имя> *************************************************************
    Описание: <Описание функции>.
    Вход: <тип> <аргумент> — <объяснение>.
    Выход: <тип> <аргумент> — <объяснение>.
    Возврат: <тип> — <объяснение>.
    *****************************************************************************/
    <Тип> <Имя>(<список параметров>)
    {
        <Тело функции>
    }
    /* Конец функции:<имя> *******************************************************/

    /* Конец файла ***************************************************************

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

    ## Атрибуция

    Этот CONTRIBUTING адаптирован из проекта [Atom](https://github.com/atom).

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

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

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

1
https://api.gitlife.ru/oschina-mirror/EDI-Systems-M5P1_MuProkaron.git
git@api.gitlife.ru:oschina-mirror/EDI-Systems-M5P1_MuProkaron.git
oschina-mirror
EDI-Systems-M5P1_MuProkaron
EDI-Systems-M5P1_MuProkaron
main