Skip to main content
Ctrl+K

ANTS

  • Working Practices
  • Contact
  • Accessibility
  • GitHub
  • Working Practices
  • Contact
  • Accessibility
  • GitHub

Section Navigation

  • General considerations for new work
  • Principles
  • Developer guide
    • Development process
    • Code conventions
    • Licensing and attribution
    • Testing
    • Documentation
    • Application considerations
    • Developer environments
  • Reviewer guide
  • Working Practices
  • Developer guide

Developer guide#

  • Development process
    • Creating an issue
    • Forking the repository
    • Creating a branch
    • Making changes
    • Opening a pull request
    • Working with your reviewer during the code review 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
    • Licence, copyright, and IPR
    • AI assistance and attribution
  • Testing
    • Why do the ANTS/UG-ANTS team ask for unit tests and rose stem tests for code?
    • Unit test conventions
      • What needs to be unit tested?
      • What does not need to be unit tested?
      • Test names
      • Docstrings
      • Readability
      • Test style
      • assertRaises and assertRaisesRegex
      • assertIsNone and assertIsNotNone
      • Mock conventions in tests
      • Running unit tests in a working copy
      • Advice on unit tests
    • Rose stem test conventions
      • What needs to be tested via rose stem?
      • Decomposition splits in KGO tests
      • Source data files
      • Output filenames in KGO tests
      • Linkcheck test
      • Rose configuration
      • Long form command line arguments
      • Running rose stem tests
  • Documentation
    • Sphinx details
    • Sphinx codeblocks
  • Application considerations
    • Shell scripts
    • “Run once” scripts
  • Developer environments

previous

Principles

next

Development process

This Page

  • Show Source

© Crown Copyright, Met Office.

Created using Sphinx 9.1.0.

Accessibility Statement.

Built with the PyData Sphinx Theme 0.16.1.