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.
Place requires in the following order:
path)ipc, app)Place class properties in the following order:
@)Avoid platform-dependent code:
path.join() to concatenate filenames.os.tmpdir() rather than /tmp when you need to reference the
  temporary directory.Using a plain return when returning explicitly at the end of a function.
return null, return undefined, null or undefinedFor 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.Use newer ES6/ES2015 syntax where appropriate
const
  for requires and other constantslet
  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.