コーディングスタイル
これは、Electronでのコーディングに関するスタイルガイドラインです。
npm run lint を実行すると、cpplint と eslint によって検出されたスタイル上の問題が表示されます。
一般的なコード
- ファイルの末尾は改行で終わらせてください。
- require は以下の順序で記述してください。
- Nodeの組み込みモジュール(pathなど)
- Electronの組み込みモジュール(ipc、appなど)
- ローカルモジュール(相対パスを使用)
 
- Nodeの組み込みモジュール(
- クラスプロパティは以下の順序で記述してください。
- クラスメソッドとプロパティ(@で始まるメソッド)
- インスタンスメソッドとプロパティ
 
- クラスメソッドとプロパティ(
- プラットフォーム依存のコードは避けてください。
- ファイル名を連結するには path.join()を使用してください。
- 一時ディレクトリを参照する必要がある場合は、/tmpではなくos.tmpdir()を使用してください。
 
- ファイル名を連結するには 
- 関数の最後に明示的に return する場合は、単純な returnを使用します。- return null、- return undefined、- nullまたは- undefinedではない
 
C++ と Python
C++とPythonについては、Chromiumのコーディングスタイルに従います。また、すべてのファイルが準拠しているかどうかを確認するスクリプト script/cpplint.py もあります。
現在使用しているPythonのバージョンはPython 3.9です。
C++コードはChromiumの抽象化と型を多く使用しているため、それらに精通しておくことをお勧めします。まず、Chromiumの重要な抽象化とデータ構造ドキュメントから始めるのが良いでしょう。このドキュメントでは、いくつかの特別な型、スコープ付き型(スコープ外に出ると自動的にメモリを解放する)、ロギングメカニズムなどについて言及しています。
ドキュメント
- remarkマークダウンスタイルで記述してください。
ドキュメントの変更が正しくフォーマットされていることを確認するには、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 () { }の代わりに アロー関数 を使用します。
- +を使用した文字列連結の代わりに テンプレートリテラル を使用します。
 
- require とその他の定数には 
命名規則
Electron API は Node.js と同じ大文字小文字の区別スキームを使用しています。
- モジュール自体が BrowserWindowのようなクラスである場合は、PascalCaseを使用します。
- モジュールが globalShortcutのような API のセットである場合は、camelCaseを使用します。
- API がオブジェクトのプロパティであり、win.webContentsのように別の章で説明するのに十分なほど複雑な場合は、mixedCaseを使用します。
- その他のモジュールではない API については、<webview> TagやProcess Objectのように、自然なタイトルを使用します。
新しい API を作成する場合は、jQuery の1関数スタイルではなく、ゲッターとセッターを使用することが推奨されます。例えば、.text([text]) よりも .getText() と .setText(text) が推奨されます。これについては、議論があります。