编码风格¶
这些是 Electron 编码风格指南。
你可以运行 npm run lint 来显示由 cpplint 和 oxlint 检测到的任何风格问题。
通用代码¶
- 以换行符结束文件。
- 按以下顺序放置 require 语句:
- Node 内置模块(如
path) - Electron 内置模块(如
ipc、app) - 本地模块(使用相对路径)
- 按以下顺序放置类属性:
- 类方法和属性(以
@开头的方法) - 实例方法和属性
- 避免平台相关代码:
- 使用
path.join()连接文件名。 - 当需要引用临时目录时,使用
os.tmpdir()而不是/tmp。 - 在函数末尾显式返回时,使用简单的
return。 - 不要使用
return null、return undefined、null或undefined。
C++ 和 Python¶
对于 C++ 和 Python,我们遵循 Chromium 的编码风格。还有一个脚本 script/cpplint.py 用于检查所有文件是否符合规范。
我们目前使用的 Python 版本是 Python 3.9。
C++ 代码使用了大量 Chromium 的抽象和类型,因此建议熟悉它们。一个不错的起点是 Chromium 的重要抽象和数据结构文档。该文档涉及一些特殊类型、作用域类型(在超出作用域时自动释放内存)、日志记录机制等。
文档¶
- 按照我们的文档风格指南编写说明文字。
你可以运行 npm run lint:docs 来确保你的文档更改格式正确。
JavaScript¶
- 遵循 standard JavaScript 风格编写代码。
- 文件名应使用
-连接,而不是_,例如file-name.js而不是file_name.js,因为在 atom/atom 中,模块名称通常采用module-name形式。此规则仅适用于.js文件。 - 在适当的地方使用更新的 ES6/ES2015 语法:
- 对于 require 和其他常量使用
const。如果值是原始值,请使用大写命名(例如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 时,优先使用 getter 和 setter,而不是 jQuery 的单函数风格。例如,.getText() 和 .setText(text) 优于 .text([text])。关于这一点有一场讨论。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 el/electron