2010-04-09 4 views
8

Se enseña en todas las clases de informática y está escrito en muchos libros que los programadores no deberían usar GoTo. Incluso hay un cómic xkcd al respecto. Mi pregunta es si hemos llegado a un punto donde se puede decir lo mismo acerca de Eval.¿Debería usar Eval llevar el mismo estigma que GoTo?

Donde GoTo no es conductivo para el flujo y la legibilidad del programa, Eval es el mismo para la depuración, la ejecución del programa y el diseño.

¿Debería usar Eval tener el mismo estigma que GoTo, y las mismas consecuencias que en el cómic xkcd?

+0

Bueno, ciertamente no espero que tenga las mismas consecuencias que en el cómic ... ya me hubieran comido algunas veces. – Tesserex

+1

Esto es una tangente, pero la controversia de ir es una farsa. Goto solo es malo cuando la gente lo usa estúpidamente. Lo mismo con eval. Eval es muy poderoso, flexible y peligroso en las manos equivocadas. –

Respuesta

7

En todo caso, debería conllevar más estigma.

GoTo a menudo crea código que es difícil de mantener. Eval a menudo crea código con vulnerabilidades de seguridad, eso es peor.

1

Puede ser eval no ha alcanzado los niveles de crítica que alcanzó GoTo, pero sin duda es obsoleto!

1

¡Es solo cuestión de tiempo antes de que alguien publique un artículo de "Eval consider Evil"!

+1

seguido por el artículo "Eval consideró Evil 'considerado Evil". – bryanjonker

+0

http://diveintomark.org/archives/2002/01/04/eval_is_evil – dan04

2

Eval tiene algunas preocupaciones de seguridad bastante graves; si hay alguna posibilidad de que no se confíe o la entrada proporcionada por el usuario pueda terminar en una evaluación, es vulnerable.

Jslint advertirá sobre el uso de eval() en el código js que se ejecuta a través de él.

0

"Exploits of a Mom" ​​cubre indirectamente eval - código malicioso es ejecutado por el sistema debido a la falta de una comprobación adecuada.

Cuestiones relacionadas