原文:https://github.com/electron/electron/blob/master/docs/development/coding-style.md
譯者:Lin
這里有一些在Electron中的編碼風格指導欠气。
你可以運行npm run lint
來展示任何風格 to show any style issues detected by cpplint
和eslint
.
<h2 id="cpp-and-python">C++和Python</h2>
對于C++和Python,我們遵循Chromium的代碼風格屠凶。你可以使用clang-format自動格式化C++代碼。這里有一個腳本script/cpplint.py
來檢查是否所有的文件都遵循莹弊。
Python的版本我們現(xiàn)在使用的是Python 2.7谴咸。
C++代碼使用了大量的Chromium的抽象類,所以建議了解一下它們笤妙。一個好的開始是Chromium的Important Abstractions and Data Structures文檔硅则。這個文檔中提到一些特殊的類型淹父,作用域類型(當在作用域范圍之外時自動釋放內(nèi)存),以及日志記錄機制等怎虫。
<h2 id="javascript">JavaScript</h2>
- 寫標準的JavaScript風格暑认。
- 文件名字應該是使用
-
連在一起的而不是使用_
,例如大审,是file-name.js
而不是file_name.js
穷吮,因為在github/atom模塊中名字通常是module-name
構成方式。這個規(guī)則只適用于.js
文件饥努。 - 在適當?shù)牡胤绞褂眯碌腅S6/ES2015語法
-
const
使用在飲用和其他常量上 -
let
用來定義變量 -
Arrow functions
代替function () { }
-
Template literals
用來代替使用+
的字符串連接捡鱼。
-
<h2 id="naming-things">命名方式</h2>
Electron接口使用和Node.js相同的命名方式:
- 當模塊自己就是一個類時,例如
BrowserWindow
酷愧,則使用CamelCase
(駝峰命名法)驾诈。 - 當模塊是一個接口的集合時,例如
globalShortcut
溶浴,則使用mixedCase
乍迄。 - 當接口是一個對象的屬性,并且足夠復雜到能夠單獨分出一章士败,例如
win.webContents
闯两,則使用mixedCase
褥伴。 - 對于其他的模塊接口,使用正常的標題漾狼,例如
<webview> Tag
或Process Object
重慢。
當創(chuàng)建一個新的接口,最好使用getters和setters來代替jQuery的one-function風格逊躁。例如似踱,.getText()
和.setText(text)
就比.text([text])
要好。這里有一個關于這個的討論稽煤。