Javascript Style Guide
===========================

These rules apply to pure JS, as well as JSA inside of Polymer.
Follow the [Google Style Guide](https://google.github.io/styleguide/javascriptguide.xml)
as a baseline, except as follows below.

- We don't use the Closure Compiler or any type comments related to it.
- Use double quotes.
- We support only the "Evergreen Browsers". IE 9 and below are not supported.


Polymer Style Guide
===================

As a baseline, be consistent with standard Polymer style as used by Polymer elements themselves.
Some exceptions and clarifications are listed below.

AJAX requests
-------------

Instead of `<iron-ajax>`, prefer using the family of sk.request methods, found in
[common.js](https://skia.googlesource.com/buildbot/+/d3624df97a7422c542a739f36668f4831a2cda0b/res/js/common.js)

**Rationale:** It is easier to debug procedural code over the declarative element.
iron-ajax requires looking between template and the JS in the element declaration, which is sometimes a lot of scrolling.
It is easier to read when the logic is all in one place.
Some legacy code may use iron-ajax, but do not follow that example.


Behaviors
---------

Behaviors should exist one per file, with the file name ending in "-behaviors.html".
If a Behavior is not used by any templating logic, consider implementing the logic in
pure JS, using a namespace as appropriate.

**Rationale:** If methods are not used for templating, pure JS is more portable.


Elements
--------

Elements should exist one per file, with the file name being the same as the element.
If an Element has a helper element that should not be used alone, it may be included
in the same file.
Example: [details-summary.html](https://skia.googlesource.com/buildbot/+/d3624df97a7422c542a739f36668f4831a2cda0b/res/imp/details-summary.html)

Naming Things
-------------

Properties should be named using one word (if possible) or using snake_case.
Private properties and methods should be prefixed with an underscore
(e.g. _super_private).

**Rationale:** The names are consistent in Javascript and HTML land.
Polymer will automatically convert camelCase into sausage-case otherwise, which
leads to hilarity and/or tears.


Python Style Guide
==================

Python code follows the [Google Python Style Guide](https://google.github.io/styleguide/pyguide.html).