1

我目前正在重新开发我创建的 BASIC(字节码解释器),但无法决定是否要包含一个eval函数。我怀疑它的用处。

我可以想到一个功能的 2 种用途eval

  • 它似乎是为计算器应用程序量身定做的。但我真诚地认为,真正的开发人员宁愿自己编写代码。
  • 当要求用户提供一些数字时,它将允许输入公式。可能很方便。虽然这听起来不错,但我不记得曾经见过任何提供此类功能的 InputBox。

那么我的问题是:

eval作为通用编程语言(如 BASIC)的一部分,有哪些实际用途?

搜索这个论坛,我发现了 S.Lott关于eval函数的这个观点(尽管是在 Python 中)。
我什至应该费心调查 的用处eval吗?

使用 eval 很弱,这显然不是一个坏习惯。

1.违反“软件基本原则”。您的来源不是可执行文件的总和。除了您的来源之外,还有 eval 的参数,必须清楚地理解。因此,它是不得已的工具。

2.通常是设计不慎的标志。动态构建的动态源代码很少有充分的理由。几乎任何事情都可以通过委托和其他 OO 设计技术来完成。

3.它导致小段代码的动态编译相对较慢。可以通过使用更好的设计模式来避免的开销。

4

0 回答 0