Skip to content

Konventionen

Ruff als Linter und Formatter

Wir verwenden die VSCode-Extension für Ruff, um Code in der Syntax zu überprüfen und zu Formatieren.

Die Default-Settings werden über die Datei .vscode/settings.json mit Github synchronisiert und sollten entsprechend wirksam werden.

.vscode/settings.json (Stand 30.05.25)
{
    "python.analysis.extraPaths": [
        "./src"
    ],
    "ruff.lineLength": 90,
    "ruff.lint.enable": true,
    "ruff.enable": true,
    "notebook.defaultFormatter": "charliermarsh.ruff",
    "[python]": {
        "editor.formatOnSave": true,
        "editor.defaultFormatter": "charliermarsh.ruff"
      },
}

Alles, was der Linter bemängelt (also gelb oder rot unterkringelt), sollte aus Prinzip behoben werden, selbst wenn das bei geringfügigen Überschreitungen der Zeilenlänge manchmal unnötig wirkt.

Docstrings

Der Zweck, Anwendungsfälle und Parameter unserer Klassen und Funktionen sollten in Docstrings, umschlossen von drei Anführungszeichen, dokumentiert werden. Aus Kompatibilitätsgründen mit mkdocs haben wir uns auf das Google Docstring Format geeinigt. Eine Definition und viele andere gute Hinweise für die Programmierung in Python finden sich hier.

Parameter von Funktionen und Klassen

In der Auseinandersetzung mit dem sklearn BaseEstimator hat sich gezeigt, dass die explizite Festlegung möglichter Parameter der Verwendung allgemeiner Platzhalter wie **kwargs in der __init__-Methode vorzuziehen ist.

Der Übergabe von Paramtern mit Hilfe eines Dictionarys steht das jedoch nicht im Wege.

— André Gasch