楼主:
tyc5116 (累人啊....)
2014-09-08 23:13:44我也来分享一个,与数据库连结的相关程式码
if (!connected())
{
if (!connected())
{
if (!connected())
{
goto Err;
}
}
}
大概的意思是这样吧,看到goto我就跑去喝饮料了(因为要降火气XD)
作者:
zkw (古惑仔)
2014-09-08 23:58:00retry两次的意思
作者:
DWR (罗杰)
2014-09-09 00:04:00程式可能有bug所以尝试个三次臭了吗
作者:
lNishan (紫小霓)
2014-09-09 00:12:00每次看到goto都会想到Apple bug XD
我写C倒是不太会用GOTO~@@~但听说setjump和longjump很常用?
作者:
rodion (r-kan/reminder)
2014-09-09 00:26:00在某些相对单纯的error handling上 用goto或许可以接受啦尤其是在try-catch并不倾向能够被广泛运用的场合
有些driver也很多goto,通常是为了做error handle
作者:
yyc1217 (somo)
2014-09-09 01:13:00其实我觉得蛮浅显易懂的呀...
作者:
askacis (ASKA)
2014-09-09 01:28:00goto在linux世界里很正常啊,不是不能用而是不要乱用
作者:
manlike ( )
2014-09-09 07:46:00linux kernel 一堆goto
楼主:
tyc5116 (累人啊....)
2014-09-09 08:20:00我这个例子有那么底层吗?只是在连数据库耶...
作者:
su27 (su27)
2014-09-09 08:46:00组合语言 机器语言用的也是goto 书上写用GOTO不好 我看了也觉的很奇怪 你用一个for循环 里面就是一个goto的命令
作者:
askacis (ASKA)
2014-09-09 08:56:00即时是userspace的code,goto还是很常见
作者:
arenda (phantom in my heart)
2014-09-09 09:12:00连数据库扯啥linux kernel和driver? 你们真的是工程师?
作者:
manlike ( )
2014-09-09 09:23:00你怎么不先去搞懂为何Linux kernel要使用goto?
组语当然一堆goto,但for都帮你包起来了为何还要用?
作者:
askacis (ASKA)
2014-09-09 10:26:00跟底层没关系,而是要清楚goto的使用时机以及人家是怎么用的,而非看到goto就直觉不能用~
作者:
v7q4 ((.)(.)乳剑双修 -|=>)
2014-09-09 10:48:00逻辑清楚的话 goto是非常好用的
作者:
askacis (ASKA)
2014-09-09 12:44:00goto fail是bug,但难道for while有的没的语法就不会有?语法本身不是问题,有问题的是使用的人~
作者:
atst2 (atst2)
2014-09-09 12:48:00人非圣贤..本来各种建议,范式,模式,习惯,就是想尽量避免这些不小心所造成的错误. if(const == var)和 if(var ==const)两种都一样逻辑,为什么建议用第一种?goto不是不可以用,但是用了就要自己皮绷紧一点, 也要叫后面维护的人注意一点.
作者:
saxontai (黑暗,点缀孤零零的星)
2014-09-09 13:00:00apple 的 ssl bug 问题出在人,根本不在 goto...(茶)
作者:
xsion (Xsion)
2014-09-09 14:44:00你踩到程设万年战点了... goto能用否?
楼主:
tyc5116 (累人啊....)
2014-09-09 15:01:00"理论上是不需要goto的,一定有另一个方法可以取代goto叙述...(略),我只建议当它优于其它可用的方法时才使用之"以上是书上说法,我想不到连个数据库有一定要用goto的必要拜托哪个高手来开释一下,还有没人觉得那三层if很碍眼吗XD
作者:
meowyih (meowyih)
2014-09-09 15:13:00理论上是不需要用到recurrsive的,所有的recurrsive都可以改写成 non-recurrsive function... 但这不能拿来当不准用 recurrsive function 的理由啊 XDDDD
作者:
b6byc (oopp)
2014-09-09 15:15:00goto有时很好用啊.不过这样写,看久会头晕.因为else 有时要考量.
作者:
askacis (ASKA)
2014-09-09 16:57:00我还是搞不懂连数据库跟用goto有什么关系?没有规定一定要用反之也没说不行,问题是有些人看到goto就嫌碍眼,可能大学老师都是这样教就一辈子这样觉得了吧或是眼界不够开,不知道这世界上有一堆优秀的开源大量使用goto在正确的地方上,那么吾人也爱莫能助了~~不只Linux kernel &driver用goto,一狗票的userspace开源专案也都用goto,到底连个数据库有多伟大到看到goto就嫌碍眼wwww
作者:
saxontai (黑暗,点缀孤零零的星)
2014-09-09 17:16:00跟上层还是底层也没啥关系吧,对 C 来说,做错误处理跟资源释放,恰当地使用 goto 可以让程式有良好的可读性跟可维护性。
尽信书不如无书 书上写不要用 goto 的理由让人喷饭
作者:
y3k (激流を制するは静水)
2014-09-09 21:42:00重要的东西就是要千锤百炼一下
因为有其他用法可以替代 goto,所以千万不要用 goto这什么逻辑?? 有人能帮我解释一下吗??有程式美感的人就会写出漂亮的 code,与 goto 无关
作者:
wotupset (wotupset)
2014-09-09 21:59:00如果10个人里面8~9个会滥用,那就当作铁则吧不是人人都高手,另串神人code刚好对比,让他们满满goto?
作者:
aecho (@..@")
2014-09-11 09:56:00goto很好用,但也是争议很大的东西呀~教科书会说不要用,但去看CodeComplete2,它说的很清楚。