======================= Pyicub Coding Standards ======================= To maintain quality, readability, and collaboration across the **pyicub** codebase, all development must follow recognized standards. Python ====== - Follow the official `PEP8 guidelines `_. - Static analysis with ``flake8`` and ``mypy`` is required. - Naming conventions: - Modules and files: ``lowercase_with_underscores`` - Classes: ``CamelCase`` - Functions and variables: ``lowercase_with_underscores`` - Constants: ``UPPERCASE_WITH_UNDERSCORES`` - Use type annotations where meaningful. - Keep imports organized: standard libraries, third-party, then local imports. - Limit function complexity: prefer small, focused functions. Bash ==== - Follow `Google's Shell Style Guide `_. - Scripts must start with: ``#!/usr/bin/env bash`` - Always quote variables: ``"${var}"`` - Ensure portability across Linux environments. - Write functions for repeated logic; avoid duplication. General ======= - Keep code **simple**, **modular**, and **documented**. - Prioritize **readability** over cleverness. - Every file must contain a short module-level docstring if applicable.