2013-09-09 07:35:57 +00:00
|
|
|
# Coding style
|
|
|
|
|
2013-08-14 22:43:35 +00:00
|
|
|
## C++ and Python
|
|
|
|
|
2013-08-29 14:37:51 +00:00
|
|
|
For C++ and Python, we just follow Chromium's [Coding
|
|
|
|
Style](http://www.chromium.org/developers/coding-style), there is also a
|
|
|
|
script `script/cpplint.py` to check whether all files confirm.
|
2013-08-14 22:43:35 +00:00
|
|
|
|
|
|
|
The python's version we are using now is Python 2.7.
|
|
|
|
|
2015-08-21 19:23:49 +00:00
|
|
|
The C++ code uses a lot of Chromium's abstractions and types, so it's
|
|
|
|
recommended to get acquainted with them. A good place to start is
|
|
|
|
Chromium's [Important Abstractions and Data Structures]
|
|
|
|
(https://www.chromium.org/developers/coding-style/important-abstractions-and-data-structures)
|
|
|
|
document. The document mentions some special types, scoped types (that
|
|
|
|
automatically release their memory when going out of scope), logging mechanisms etc.
|
|
|
|
|
2013-08-14 22:43:35 +00:00
|
|
|
## CoffeeScript
|
|
|
|
|
2013-08-29 14:37:51 +00:00
|
|
|
For CoffeeScript, we follow GitHub's [Style
|
|
|
|
Guide](https://github.com/styleguide/javascript), and also following rules:
|
2013-08-14 22:43:35 +00:00
|
|
|
|
2013-08-29 14:37:51 +00:00
|
|
|
* Files should **NOT** end with new line, because we want to match Google's
|
|
|
|
styles.
|
|
|
|
* File names should be concatenated with `-` instead of `_`, e.g.
|
|
|
|
`file-name.coffee` rather than `file_name.coffee`, because in
|
|
|
|
[github/atom](https://github.com/github/atom) module names are usually in
|
2015-04-23 23:32:41 +00:00
|
|
|
the `module-name` form, this rule only applies to `.coffee` files.
|
2013-08-14 22:43:35 +00:00
|
|
|
|
|
|
|
## API Names
|
|
|
|
|
2013-08-29 14:37:51 +00:00
|
|
|
When creating a new API, we should prefer getters and setters instead of
|
|
|
|
jQuery's one-function style, for example, `.getText()` and `.setText(text)`
|
|
|
|
are preferred to `.text([text])`. There is a
|
2015-04-16 03:31:12 +00:00
|
|
|
[discussion](https://github.com/atom/electron/issues/46) of this.
|