Working Practices#
This document and the working practices are constantly evolving to meet changing requirements and as we learn new things. We are happy to receive suggestions for improvements in the form of a pull request (PR) or by email to miao@metoffice.gov.uk. For more substantial suggested changes, opening an issue may be the best way to present a change for consideration.
- General considerations for new work
- Principles
- Developer guide
- Development process
- Code conventions
- Standard tools
- Modular code
- Deprecated code
- Whitespace
- Full names for variables, objects, functions, etc
- Assert
- Identifying coordinates on a cube
- Line lengths
- Filtering objects
- Warnings
- TODO, FIXME, etc
- Workarounds
- Custom exceptions
- Use pure functions and avoid in place operations
- Strict Zip
- Automated coding standards tools
- Jupyter notebooks
- Binary files
- Licensing and attribution
- Testing
- Documentation
- Application considerations
- Developer environments
- Reviewer guide