gpt4 book ai didi

c# - 转到被认为有害的声明?

转载 作者:可可西里 更新时间:2023-11-01 03:02:39 25 4
gpt4 key购买 nike

如果上面的说法是正确的,那么为什么当我在 .Net BCL 上使用反射器时,我看到它被大量使用?

编辑:让我换个说法:我在反射器中看到的所有 GO-TO 都是由人类或编译器编写的吗?

最佳答案

我认为以下摘自Wikipedia Article on Goto在这里特别相关:

Probably the most famous criticism of GOTO is a 1968 letter by Edsger Dijkstra called Go To Statement Considered Harmful. In that letter Dijkstra argued that unrestricted GOTO statements should be abolished from higher-level languages because they complicated the task of analyzing and verifying the correctness of programs (particularly those involving loops). An alternative viewpoint is presented in Donald Knuth's Structured Programming with go to Statements which analyzes many common programming tasks and finds that in some of them GOTO is the optimal language construct to use.

因此,一方面我们有 Edsger Dijkstra (一位才华横溢的计算机科学家)反对 GOTO 语句的使用,特别是反对 过度 使用 GOTO 声明,理由是它是一种结构化程度较低的代码编写方式。

另一方面,我们有Donald Knuth (另一位非常有才华的计算机科学家)认为使用 GOTO,尤其是明智地使用它实际上可以成为给定程序代码段的“最佳”和最佳结构。

最终,恕我直言,我相信这两个人都是正确的。 Dijkstra 是正确的,过度使用 GOTO 语句肯定会降低一段代码的可读性和结构性,从纯理论的角度来看计算机编程时,这当然是正确的.

然而,Knuth 也是正确的,因为在“现实世界”中,人们必须采取务实的方法,明智地使用 GOTO 语句确实可以成为要使用的语言结构的最佳选择。

关于c# - 转到被认为有害的声明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2486618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com