Leitfaden


Dieses Dokument hilft dir bei der Implementierung eines Analyzers.

Allgemeines

  • Analysiere alle eingereichten Dateien, außer tests-, invalidator-, editor-, example- und exemplar-Dateien
  • Strebe keine 100%ige Korrektheit an, denn das ist nahezu unmöglich. Es ist in Ordnung, wenn der Analyzer nicht alle Probleme findet oder bestimmte Tags nicht ableiten kann.

Kompilierung

Wenn deine Programmiersprache einen Kompilierungsschritt erfordert, beachte folgende Punkte:

  • Das Kompilieren der Lösung ermöglicht normalerweise eine höhere Genauigkeit. Zum Beispiel ist der endgültige Typ eines Werts erst nach der Kompilierung bekannt. Sei dir der Kompromisse bewusst (z. B. langsamere Ausführung und mehr Speicherverbrauch).
  • Ziehe eine In-Memory-Kompilierung in Betracht (falls möglich), um die Leistung zu verbessern.

Tests

  • Sorge für eine umfangreiche Testsuite
  • Verwende Golden Tests, um das Verhalten des Analyzers zu überprüfen. Diese Tests sollten das Docker-Image verwenden, das ausgerollt wird, um den Analyzer zu überprüfen.
  • Denk darüber nach, für jeden Ansatz Tests zu haben. Du möchtest, dass der Analyzer für diese Lösungen gut funktioniert, und es wird später helfen, den Ansätzen Tags zuzuweisen.