Orientación


Este documento ofrece orientación a la hora de implementar un analizador.

General

  • Analiza todos los archivos enviados, excepto los archivos tests/invalidator/editor/example/exemplar.
  • No pretendas alcanzar un 100 % de corrección, algo que sería casi imposible de conseguir. No pasa nada si el analizador no encuentra todos los problemas o no es capaz de inferir determinadas etiquetas.

Compilación

Si tu lenguaje requiere un paso de compilación, ten en cuenta estos puntos:

  • Compilar la solución suele permitir una mayor fidelidad. Por ejemplo, el tipo definitivo de un valor solo se conoce después de la compilación. Eso sí, ten presentes las contrapartidas (por ejemplo, se ejecuta más despacio y consume más memoria).
  • Considera la posibilidad de compilar en memoria (si es posible) para mejorar el rendimiento.

Pruebas

  • Ten una batería de pruebas exhaustiva.
  • Usa pruebas golden para verificar el comportamiento del analizador. Estas pruebas deben usar la imagen de Docker que se desplegará para verificar el analizador.
  • Considera la posibilidad de tener pruebas para cada enfoque. Quieres que el analizador funcione bien con estas soluciones, y además te ayudará a asignar etiquetas a los enfoques más adelante.