================== Guiding principles ================== These indicate the high-level direction of what this standard is intended to promote, with the detail of how to achieve this covered in the subsequent sections. #. Use the most suitable tool for the job, without excessive variety. #. Consistency is more important than any particular stylistic choice. #. Reusable modular components rather than duplication or repetition. #. Robustness against run-time failures (both standalone and under ecFlow). #. Maximise use of automated check/lint/formatting tools. #. Avoid either sticking with the past, or adopting the latest thing, for the sake of it. #. Make it *easier* to write and debug scripts that are needed, rather than getting in the way of scientific or technical work. #. Enable a gradual/piecemeal transition of existing scripts rather than a "big bang" rewrite of everything at once.