Standards

Programming is like sex. One mistake and you have to support it for the rest of your life.

This guide is maintained on GitHub.

General rules

Rules of Optimization: Rule 1: Don’t do it. Rule 2 (for experts only): Don’t do it yet.

Naming conventions

Walking on water and developing software from a specification are easy if both are frozen.

Package versioning

We follow the X.Y.Z (Major.Minor.Patch) semantic for package versioning.

Test data

Information about downloading and working with test data from different techniques, beamlines and facilities.

Indices and tables