Coding Style Guide
These are the style guidelines for coding in Legesher.
You can run npm run lint
to show any style issues detected by cpplint
and eslint
.
General Code
End files with a newline.
Place requires in the following order:
Built in Node Modules (such as
path
)Built in Electron Modules (such as
ipc
,app
)Local Modules (using relative paths)
Place class properties in the following order:
Class methods and properties (methods starting with a
@
)Instance methods and properties
Avoid platform-dependent code:
Use
path.join()
to concatenate filenames.Use
os.tmpdir()
rather than/tmp
when you need to reference thetemporary directory.
Using a plain
return
when returning explicitly at the end of a function.Not
return null
,return undefined
,null
orundefined
C++ and Python
The Python version we are using now is Python 2.7.
Documentation
You can run npm run lint-docs
to ensure that your documentation changes are formatted correctly.
JavaScript
File names should be concatenated with
-
instead of_
, e.g.file-name.js
rather thanfile_name.js
, because inthe
module-name
form. This rule only applies to.js
files.Use newer ES6/ES2015 syntax where appropriate
for requires and other constants
for defining variables
instead of
function () { }
instead of string concatenation using
+
Naming Convention
Legesher APIs uses the same capitalization scheme as Node.js:
When the module itself is a class like
BrowserWindow
, usePascalCase
.When the module is a set of APIs, like
globalShortcut
, usecamelCase
.When the API is a property of object, and it is complex enough to be in a
separate chapter like
win.webContents
, usemixedCase
.For other non-module APIs, use natural titles, like
<webview> Tag
orProcess Object
.
Last updated
Was this helpful?