コーディングスタイル
これは、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) が推奨されます。これについては、議論があります。