游戏开发论坛

 找回密码
 立即注册
搜索
查看: 11634|回复: 39

Goto的存在

[复制链接]

8

主题

183

帖子

183

积分

注册会员

Rank: 2

积分
183
发表于 2006-7-11 13:57:00 | 显示全部楼层 |阅读模式
Goto让程序变得混乱,可读性降低,不宜调试,但我觉得有时Goto很有用,循环不就相当于Goto+If Then吗?请大家讨论下,任何Goto语句是否可以被其他语句替代掉。

3

主题

508

帖子

508

积分

高级会员

Rank: 4

积分
508
发表于 2006-7-11 14:19:00 | 显示全部楼层

Re:Goto的存在

GOTO可以被替代,但在某些场合GOTO是有存在的必要,可以简化程序。

比如直接跳转:

GOTO  PROGRAM
........................................
........................................
........................................
........................................
PROGRAM:
........................................
........................................

这么简单的方法都不用????


楼主提这个问题就和我喜欢用TIMER控件一样,TIMER组合在VB里有简化的代码作用。

TIMER1.INTERVAL=0               '停止程序
TIMER1.INTERVAL=1               '执行程序
TIMER1.ENABLED=FALSE         ‘跳出程序

8

主题

183

帖子

183

积分

注册会员

Rank: 2

积分
183
 楼主| 发表于 2006-7-11 14:41:00 | 显示全部楼层

Re:Goto的存在

Timer降低运行效率
Goto降低代码可读性

3

主题

508

帖子

508

积分

高级会员

Rank: 4

积分
508
发表于 2006-7-11 15:39:00 | 显示全部楼层

Re:Goto的存在

每段都加上中文注释。

8

主题

183

帖子

183

积分

注册会员

Rank: 2

积分
183
 楼主| 发表于 2006-7-11 15:49:00 | 显示全部楼层

Re: Re:Goto的存在

荣誉勋章: Re:Goto的存在

每段都加上中文注释。

没用的,我这有一段程序一个过程用了4个Goto,跳来跳去也不知道怎么跳的,程序倒还能正确运行。
我觉得用可以,每个过程只用2个,而且不要相互交错。
又想到一个经典的Goto例子
Private Sub Test
On Error Goto Err:
....
....
....
Exit Sub
Err:
End Sub

87

主题

790

帖子

806

积分

高级会员

Rank: 4

积分
806
QQ
发表于 2006-7-11 16:00:00 | 显示全部楼层

Re:Goto的存在

我觉得适当的用用goto还是可以的,如果乱用goto肯定是不行的,所以我的观点是用goto可以,但是要适量,像2楼的代码可读性没有问题,但是goto多了以后肯定要出问题

32

主题

1259

帖子

1351

积分

金牌会员

Rank: 6Rank: 6

积分
1351
发表于 2006-7-11 18:57:00 | 显示全部楼层

Re:Goto的存在

任何一个GOTO都可以转化成do while switch case , 鼓吹GOTO好的,只能说明自己不会写程序,井底之蛙了。

87

主题

790

帖子

806

积分

高级会员

Rank: 4

积分
806
QQ
发表于 2006-7-11 21:04:00 | 显示全部楼层

Re: Re:Goto的存在

Devil: Re:Goto的存在

任何一个GOTO都可以转化成do while switch case , 鼓吹GOTO好的,只能说明自己不会写程序,井底之蛙了。

其实用for也可以替代goto,所以说要实现功能方法有很多种,只是方不方便的问题,选方便的就好(当然也要兼顾可读性),没有必要非那么教条.再说,大家搞错误处理不是照样还用到goto吗

4

主题

32

帖子

32

积分

注册会员

Rank: 2

积分
32
发表于 2006-7-12 07:54:00 | 显示全部楼层

Re:Goto的存在

对啊,VB的循环里没有Continue,这个功能只能用Goto做

26

主题

537

帖子

537

积分

高级会员

Rank: 4

积分
537
发表于 2006-7-12 09:12:00 | 显示全部楼层

Re:Goto的存在

在纯粹面向对象的编程中,Goto语句肯定要被彻底替代掉。但是在其它情况下,Goto虽让人眼花缭乱,某些时候却仍有使用价值。但无论如何,我们应尽可能的不用它
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-25 11:47

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表