Chromium coding style

Main style guides

Chromium also uses these languages to a lesser degree:

Regardless of the language used, please keep code gender neutral.

Python

Python code should follow PEP-8, except:

  • Use two-space indentation instead of four-space indentation.
  • Use CamelCase() method and function names instead of unix_hacker_style() names.

(The rationale for these is mostly legacy: the code was originally written following Google's internal style guideline, the cost of updating all of the code to PEP-8 compliance was not small, and consistency was seen to be a greater virtue than compliance.)

Depot tools contains a local copy of pylint, appropriately configured.

Note that asserts are of limited use, and should not be used for validating input – throw an exception instead. Asserts can be used for validating program logic, especially use of interfaces or invariants (e.g., asserting that a function is only called with dictionaries that contain a certain key). See Using Assertions Effectively.

See also the Chromium OS Python Style Guidelines.

Web languages (JavaScript, HTML, CSS)

When working on Web-based UI features, consult the Web Development Style Guide for the Chromium conventions used in JS/CSS/HTML files.

Internal uses of web languages, notably “layout” tests, should preferably follow these style guides, but it is not enforced.