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