关于goto语句的使用浅谈
2012-05-10 16:20
169 查看
http://tieba.baidu.com/f?kz=657163938
关于goto使用语句的一些建议
goto语句在结构化编程技术出来后,被当作破坏结构化程序的典型代表,可以说,在结构化程序设计年代,goto语句就像洪水猛兽一样,程序员都唯恐避之不及;可后来在微软的一些例子程序中经常把goto语句用来处理出错,当出错时,goto到函数要退出的一个label那里进行资源释放等操作。那么,goto语句是不是只可以用于出错处理,其他地方都不可以用了呢?下列关于使用goto语句的原则可以供读者参考。
1) 使用goto语句只能goto到同一函数内,而不能从一个函数里goto到另外一个函数里。
2) 使用goto语句在同一函数内进行goto时,goto的起点应是函数内一段小功能的结束处,goto的目的label处应是函数内另外一段小功能的开始处。
3) 不能从一段复杂的执行状态中的位置goto到另外一个位置,比如,从多重嵌套的循环判断中跳出去就是不允许的。
4)应该避免像两个方向跳转。这样最容易导致"面条代码"。
关于goto使用语句的一些建议
goto语句在结构化编程技术出来后,被当作破坏结构化程序的典型代表,可以说,在结构化程序设计年代,goto语句就像洪水猛兽一样,程序员都唯恐避之不及;可后来在微软的一些例子程序中经常把goto语句用来处理出错,当出错时,goto到函数要退出的一个label那里进行资源释放等操作。那么,goto语句是不是只可以用于出错处理,其他地方都不可以用了呢?下列关于使用goto语句的原则可以供读者参考。
1) 使用goto语句只能goto到同一函数内,而不能从一个函数里goto到另外一个函数里。
2) 使用goto语句在同一函数内进行goto时,goto的起点应是函数内一段小功能的结束处,goto的目的label处应是函数内另外一段小功能的开始处。
3) 不能从一段复杂的执行状态中的位置goto到另外一个位置,比如,从多重嵌套的循环判断中跳出去就是不允许的。
4)应该避免像两个方向跳转。这样最容易导致"面条代码"。
相关文章推荐
- 关于goto语句的使用
- C/C++拾遗录--关于goto和jmp语句浅析
- 关于break,continue,goto,return语句区别详解(所有语言通用的语法知识)
- 为什么使用goto语句作错误处理
- 关于MySQL中savepoint语句使用时所出现的错误
- 关于Sqlite的一些基本语句使用
- 关于goto语句能不能从复杂的嵌套循环判断中跳出去的问题讨论
- C/C++/Java goto语句的使用
- 浅谈使用NGUI的界面架构(二)关于NData
- 实验四第4题:关于switch...case分支语句的使用
- oracle关于查询空间使用情况的几个sql语句
- 关于return在循环语句中的使用
- 关于使用一条SQL语句 找出同时符合多个tag条件的记录集合算法
- 为什么使用goto语句作错误处理
- 关于Ruby的ARGV与gets语句同时使用的问题
- 关于用sql语句select多个字段,该使用什么接收的解决办法
- 为什么使用goto语句作错误处理 by明智
- goto语句的使用
- 关于C#中用access做数据库,使用like语句的问题
- 【编程好习惯】恰当使用goto语句