是否应该使用Eval带有与GoTo相同的耻辱感?

时间:2010-04-09 14:54:34

标签: eval goto

它在每个计算机科学课上都有教学,并且在许多书中都写过程序员不应该使用GoTo。关于它,甚至有一个xkcd漫画。我的问题是,我们达到了关于Eval可以说同样的事情吗?

GoTo对程序流程和可读性没有影响, Eval与调试,程序执行和设计相同。

使用Eval是否与GoTo具有相同的耻辱感,并且与xkcd漫画中的后果相同?

5 个答案:

答案 0 :(得分:7)

如果有的话,它应该带有更多的耻辱。

GoTo经常会创建难以维护的代码。 Eval经常会创建具有安全漏洞的代码 - 这更糟糕。

答案 1 :(得分:2)

Eval有一些相当严重的安全问题;如果有任何机会不受信任或用户提供的输入最终都会出现在评估中,那么它很容易受到攻击。

Jslint会警告在运行它的js代码中使用eval()。

答案 2 :(得分:1)

可能eval尚未达到GoTo达到的批评水平,但肯定已被弃用!

答案 3 :(得分:1)

有人发表“Eval Conside Evil”文章只是时间问题了!

答案 4 :(得分:0)

“利用妈妈”间接涵盖了eval - 由于缺乏适当的检查,系统会运行恶意代码。