Escriba un programa que imprima el mensaje de error de sintaxis del compilador o intérprete. El mensaje de error debe ser engañoso para que los encargados del mantenimiento del código tarden días en descubrir que el error fue falso, es decir, debe ofuscar (y ocultar su intención). Además, el error debe ser lo más exacto posible y debe hacer referencia al código correctamente.
Para los lenguajes cumplidos, suponga que su mantenedor de código hará compile program.p && ./program
en la línea de comandos para compilar Y ejecutar el programa, eso significa que no puede distinguir si la salida proviene del compilador o del programa en sí. Además, suponga que su mantenedor de código activará los mensajes de error de sintaxis.
Como referencia, aquí hay un ejemplo que hice: https://gist.github.com/359604
La DATA
sección codifica la cadena de mensaje de error, y el hash %abcdef
es la tabla de decodificación. El error imprimió referencias a las barras diagonales inversas, lo que hace que un mantenedor de código intente contar las barras diagonales inversas.
Las entradas serán calificadas por:
- El código tiene una intención engañosamente obvia
/6
- El código reproduce el error correctamente
/16
(su punto comienza con 16 y se divide por los factores correspondientes para cada imprecisión)- Capitalización correcta: 4
- Número correcto de línea y número de columna: 4
- Redacción correcta: 2 por cada palabra incorrecta
- El número de línea al que se hace referencia confunde al responsable del código
/3
Por ejemplo,
./pythontest1.py: line 7: syntax error near token `('
./pythontest1.py: line 7: ` x=input("Enter a number:") #Number input'
obtiene 8 (16/2) en la corrección por faltar "inesperado" antes de "token", muestra un intérprete de Python normal
./pythontest1.py: line 7: syntax error near unexpected token `('
./pythontest1.py: line 7: ` x=input("Enter a number:") #Number input'
Si su punto "el código reproduce el error correctamente" es menor a 1, su entrada será descalificada.
En caso de empate, pondré factores de calificación adicionales.