These are the style guidelines for coding in Electron.
You can run npm run lint
to show any style issues detected by cpplint
and eslint
.
path
)ipc
, app
)@
)path.join()
to concatenate filenames.os.tmpdir()
rather than /tmp
when you need to reference the temporary directory.return
when returning explicitly at the end of a function.return null
, return undefined
, null
or undefined
For C++ and Python, we follow Chromium's Coding Style. You can use clang-format to format the C++ code automatically. There is also a script script/cpplint.py
to check whether all files conform.
The Python version we are using now is Python 2.7.
The C++ code uses a lot of Chromium's abstractions and types, so it's recommended to get acquainted with them. A good place to start is Chromium's Important Abstractions and Data Structures document. The document mentions some special types, scoped types (that automatically release their memory when going out of scope), logging mechanisms etc.
You can run npm run lint-docs
to ensure that your documentation changes are formatted correctly.
-
instead of _
, e.g. file-name.js
rather than file_name.js
, because in github/atom module names are usually in the module-name
form. This rule only applies to .js
files.const
for requires and other constants. If the value is a primitive, use uppercase naming (eg const NUMBER_OF_RETRIES = 5
).let
for defining variablesfunction () { }
+
Electron APIs uses the same capitalization scheme as Node.js:
BrowserWindow
, use PascalCase
.globalShortcut
, use camelCase
.win.webContents
, use mixedCase
.<webview> Tag
or Process Object
.When creating a new API, it is preferred to use getters and setters instead of jQuery's one-function style. For example, .getText()
and .setText(text)
are preferred to .text([text])
. There is a discussion on this.
© GitHub Inc.
Licensed under the MIT license.
https://www.electronjs.org/docs/development/coding-style