# 編碼規范
以下是 Electron 項目的編碼規范。
## C++ 和 Python
對于 C++ 和 Python,我們遵循 Chromium 的[編碼規范](http://www.chromium.org/developers/coding-style)。你可以使用 `script/cpplint.py` 來檢驗文件是否符合要求。
我們目前使用的 Pyhton 版本是 Python 2.7。
C++ 代碼中用到了許多 Chromium 中的接口和數據類型,所以希望你能熟悉它們。Chromium 中的[重要接口和數據結構](https://www.chromium.org/developers/coding-style/important-abstractions-and-data-structures)就是一篇不錯的入門文檔,里面提到了一些特殊類型、域內類型(退出作用域時自動釋放內存)、日志機制,等等。
## CoffeeScript
對于 CoffeeScript,我們遵循 GitHub 的[編碼規范](https://github.com/styleguide/javascript) 及以下規則:
* 文件**不要**以換行符結尾,我們要遵循 Google 的編碼規范。
* 文件名使用 `-` 而不是 `_` 來連接單詞,比如 `file-name.coffee` 而不是 `file_name.coffee`,這是沿用 [github/atom](https://github.com/github/atom) 模塊的命名方式(`module-name`)。這條規則僅適用于 `.coffee` 文件。
## API 命名
當新建一個 API 時,我們傾向于使用 getters 和 setters 而不是 jQuery 單函數的命名方式,比如 `.getText()` 和 `.setText(text)`
而不是 `.text([text])`。這里有關于該規則的[討論記錄](https://github.com/electron/electron/issues/46)。
- 介紹
- 常見問題
- Electron 常見問題
- 向導
- 支持平臺
- 分發應用
- 提交應用到 Mac App Store
- 打包應用
- 使用 Node 原生模塊
- 主進程調試
- 使用 Selenium 和 WebDriver
- 使用開發人員工具擴展
- 使用 Pepper Flash 插件
- 使用 Widevine CDM 插件
- 教程
- 快速入門
- 桌面環境集成
- 在線/離線事件探測
- API文檔
- 簡介
- 進程對象
- 支持的 Chrome 命令行開關
- 環境變量
- 自定義的 DOM 元素
- File 對象
- <webview> 標簽
- window.open 函數
- 在主進程內可用的模塊
- app
- autoUpdater
- BrowserWindow
- contentTracing
- dialog
- globalShortcut
- ipcMain
- Menu
- MenuItem
- powerMonitor
- powerSaveBlocker
- protocol
- session
- webContents
- Tray
- 在渲染進程(網頁)內可用的模塊
- desktopCapturer
- ipcRenderer
- remote
- webFrame
- 在兩種進程中都可用的模塊
- clipboard
- crashReporter
- nativeImage
- screen
- shell
- 開發
- 代碼規范
- 源碼目錄結構
- 與 NW.js(原 node-webkit)在技術上的差異
- 構建系統概覽
- 構建步驟(OS X)
- 構建步驟(Windows)
- 構建步驟(Linux)
- 在調試中使用 Symbol Server