Стиль кодирования
Вот рекомендации по стилю кодирования в Electron.
Вы можете запустить npm run lint для отображения всех проблем со стилем, обнаруженных cpplint и eslint.
Общие правила кодирования
- Завершайте файлы новой строкой.
- Располагайте директивы require в следующем порядке:
- Встроенные модули Node (такие как
path) - Встроенные модули Electron (такие как
ipc,app) - Локальные модули (с использованием относительных путей)
- Встроенные модули Node (такие как
- Размещайте свойства класса в следующем порядке:
- Методы и свойства класса (методы, начинающиеся с
@) - Методы и свойства экземпляра
- Методы и свойства класса (методы, начинающиеся с
- Избегайте платформозависимого кода:
- Используйте
path.join()для конкатенации имён файлов. - Используйте
os.tmpdir()вместо/tmp, когда вам нужно обратиться к временной директории.
- Используйте
- Используйте простое
return, когда явно возвращаете значение в конце функции.- Не используйте
return null,return undefined,nullилиundefined
- Не используйте
C++ и Python
Для C++ и Python мы следуем руководству по стилю кодирования Chromium: Coding Style. Также есть скрипт script/cpplint.py для проверки соответствия всех файлов этим рекомендациям.
В настоящее время используется версия Python 3.9.
Код C++ использует множество абстракций и типов Chromium, поэтому рекомендуется ознакомиться с ними. Хорошим началом является документ Chromium: Important Abstractions and Data Structures. В документе упоминаются некоторые специальные типы, управляемые типы (которые автоматически освобождают память при выходе из области видимости), механизмы протоколирования и т. д.
Документация
- Используйте markdown-стиль remark.
Вы можете запустить npm run lint-docs для проверки правильности форматирования изменений в документации.
JavaScript
- Используйте стиль JavaScript standard.
- Имена файлов должны быть объединены с
-вместо_, напримерfile-name.jsвместоfile_name.js, так как в модуле github/atom имена модулей обычно имеют форматmodule-name. Это правило применяется только к файлам.js. - Применяйте современный синтаксис ES6/ES2015, где это возможно:
-
constдля require и других констант. Если значение является примитивным типом, используйте имена с заглавными буквами (например,const NUMBER_OF_RETRIES = 5). -
letдля объявления переменных. -
Стрелочные функции вместо
function () { }. -
Шаблонные литералы вместо конкатенации строк с помощью
+
-
Именование элементов
Electron API использует ту же схему записи заглавных букв, что и Node.js:
- Если сам модуль — это класс, например
BrowserWindow, используйтеPascalCase. - Если модуль — набор API, например
globalShortcut, используйтеcamelCase. - Если API — свойство объекта, достаточно сложное, чтобы быть в отдельной главе, например
win.webContents, используйтеmixedCase. - Для других API, не являющихся модулями, используйте естественные названия, например
<webview> TagилиProcess Object.
При создании нового API предпочтительнее использовать геттеры и сеттеры вместо jQuery-стиля одной функции. Например, .getText() и .setText(text) предпочтительнее .text([text]). Обсуждение по этому вопросу можно найти здесь.
© GitHub Inc.
Licensed under the MIT license.
https://www.electronjs.org/docs/latest/development/coding-style