Style Guide

Writing code for olympia? Awesome! Please help keep our code readable by, whenever possible, adhering to these style conventions.

Python

Markup

  • <!DOCTYPE html>

  • double-quote attributes

  • Soft tab (2 space) indentation

  • Title-Case <label> tags - “Display Name” vs “Display name”

  • to clearfix, use the class c on an element

JavaScript

  • Soft tabs (4 space) indentation

  • Single quotes around strings (unless the string contains single quotes)

  • variable names for jQuery objects start with $. for example:

    • var $el = $(el);

  • Element IDs and classes that are not generated by Python should be separated by hyphens, eg: #some-module.

  • Protect all functions and objects from global scope to avoid potential name collisions. When exposing functions to other scripts use the z namespace.

  • Always protect code from loading on pages it’s not supposed to load on. For example:

$(document).ready(function() {
    if ($('#something-on-your-page').length) {
        initYourCode();
    }

    function initYourCode() {
        // ...
    }
});