## Спасибо за то, что делаете WLED лучше! Вот несколько советов, которые помогут вам внести свой вклад! ### Опишите свой PR Пожалуйста, добавьте описание предлагаемых вами изменений в коде. Это не должно быть исчерпывающим эссе, однако PR без описания или с несколькими словами может быть отклонён просто потому, что отсутствует базовая информация. Хорошее описание помогает нам рассмотреть и понять ваши предлагаемые изменения. Например, вы можете сказать несколько слов о: * том, чего вы пытаетесь достичь (новая функция, исправление ошибки, рефакторинг, улучшения безопасности и т. д.); * работе вашего кода (краткое техническое резюме — сосредоточьтесь на важных аспектах, которые могут быть неочевидными при чтении кода); * проведённом вами тестировании, известных ограничениях, открытых вопросах, которые вы, возможно, не смогли решить; * любых областях, где вы хотели бы получить помощь от опытного сопровождающего (да, WLED стал большим 😉). ### Целевая ветка для запросов на вытягивание Пожалуйста, делайте все PR против ветки `0_15`. ### Стиль кода Если вы сомневаетесь, проще всего воспроизвести стиль кода, который вы найдёте в файлах, которые хотите отредактировать :) Ниже приведены рекомендации, которые мы используем в репозитории WLED. #### Отступ Мы используем табуляции для отступа в веб-файлах (.html/.css/.js) и пробелы (по 2 на уровень отступа) для всех остальных файлов. Вы всё сделаете правильно, если у вас включена опция «Редактор: определение отступов» в VS Code. #### Блоки Должна ли открывающая скобка блока `if`, например, находиться в той же строке, что и условие, или в отдельной строке, зависит от вашего усмотрения. Если есть только одно утверждение, допустимо опустить блоки. Хорошо: ```cpp if (a == b) { doStuff(a); } ``` ```cpp if (a == b) { doStuff(a); } ``` ```cpp if (a == b) doStuff(a); ``` Всегда должно быть пространство между ключевым словом и его условием и между условием и скобкой. В условии не должно быть пространства между круглыми скобками и переменными. Пространства между переменными и операторами зависят от усмотрения автора. Не должно быть места между именами функций и их аргументами в скобках. Хорошо: ```cpp if (a == b) { doStuff(a); } ``` Нехорошо: ```cpp if( a==b ){ doStuff ( a); } ``` #### Комментарии В комментариях должен быть пробел между разделительными символами (например, `//`) и текстом комментария. Обратите внимание: это недавнее изменение, в большинстве кодовых баз по-прежнему есть комментарии без пробелов. Хорошо: ``` // Это комментарий. /* Это CSS-комментарий */ /* * Это комментарий, * охватывающий несколько строк, * используемый в WLED для заголовков файлов и объяснений функций */ <!-- Это HTML-комментарий --> ``` Для комментариев в одной строке нет жёсткого ограничения по количеству символов, хотя рекомендуется переносить после 120 символов. Встроенные комментарии допустимы, если они описывают только эту строку и не слишком широкие.