V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  me15000  ›  全部回复第 3 页 / 共 8 页
回复总数  143
1  2  3  4  5  6  7  8  
2017-10-26 09:50:00 +08:00
回复了 me15000 创建的主题 分享发现 有人用 goto 语句么?我是用它代替递归
@msg7086 你说话的方式不是很讨人喜欢,明显在喷人么,

引用你的话:

没有 VS,随便开了个编辑器手打的,而且 C#大概五六年没写了,如果有错请见谅。
另外,你知道 Encoding.UTF8 吗?

你这不是明显吹嘘自己伤害别人么?还强词夺理,现实中你敢这样说么?

谈不上讨厌做技术的人我本身也是做技术的,某些方面我还很崇拜,只是很多做技术太深入了的人,比如您,一股子老师傅教条式的感觉,咱有点互联网精神好不好,陈旧、教条,不是互联网所推崇的,互联网推崇探索,追求 - “简”,而我这样写的理念正是为了“简”,你那一套套理论,是专门来扼杀我们这些想法,这让人很崩溃好不好,本来就是个无伤大雅的 goto 来替代递归的一种解决方法,我想表达的是:goto 还是有好用的时候,而你们偏偏来攻击我,后面的话我不想说了,反正说这些吧我没生气,我认为你们这些人都挺有意思,技术出身的人,都有一种浓厚的 说不出的感觉,就是不够大气,不够豁达,我同时也坚信像我这种如果在你身边做事情,肯定不好过,
我觉得你这样也好也不好,你看你也太认真了,把自己的信息透露了那么多来论证你是对的,你是好的
2017-10-26 08:47:54 +08:00
回复了 me15000 创建的主题 分享发现 有人用 goto 语句么?我是用它代替递归
@noli 又是一枚自认为很厉害的技术,说实话我倒是没感到得意,反而觉得你挺臭屁的
2017-10-26 08:37:30 +08:00
回复了 me15000 创建的主题 分享发现 有人用 goto 语句么?我是用它代替递归
@ragnaroks 不是 ms 是开源的
2017-10-26 08:35:36 +08:00
回复了 me15000 创建的主题 分享发现 有人用 goto 语句么?我是用它代替递归
@ragnaroks 我写的控制台程序
2017-10-26 08:34:59 +08:00
回复了 me15000 创建的主题 分享发现 有人用 goto 语句么?我是用它代替递归
@msg7086
说实话我并没有说这是高深的技术,原本觉得这样写蛮有意思,就分享一下,你气势汹汹说人无知,我说你无知,你说你们公司那样,说明你们公司并没有完善的管理机制,你是一个人搞定了没错,但你们公司发展不大,因为只有你一个人可以搞,我觉得也不是什么值得骄傲的事情,我认为任何产品或技术都应该追求简约,而不是需要十几年的积淀才能做好,那对大多数公司来说不划算
2017-10-26 08:06:09 +08:00
回复了 me15000 创建的主题 分享发现 有人用 goto 语句么?我是用它代替递归
@ryd994
心里仍然有喷你的欲望,不礼貌建立在对方不礼貌的前提下,还有你这种动不动就找人举报的人,不够 man 和上小学幼稚园的小朋友有的一拼,

上面的观点并没有说服我
有人说老程序员这样做,所以就不用,那你其实也不知道为什么

还有人说 nginx 什么里面用来处理错误,所以只用来处理错误时候用 goto,这有点牵强吧?

在我看来仍然可以用,除非这样用很难被普通人理解,或者用了会出现严重 bug

目前最主要的矛盾是:大多数人没这样用过,所以不去用,还有国内初识编程时对 goto 的认知


@carlclone 日心说那家伙还被火烧了呢,帖子里的观点如果有人愿意认真思考的话,没什么道理可言,要么是模仿要么是教条主义
2017-10-25 12:08:19 +08:00
回复了 me15000 创建的主题 分享发现 有人用 goto 语句么?我是用它代替递归
@msg7086

说实话过于技术的人真的很 XX 无力吐槽,在你们这种公司上班肯定很遭罪
100 种实现方法,都可以有,谁 tm 规定必须要你这样写,你规定的,你是法律,和法西斯没啥区别
技术本身服务于需求,能达到目的就好,
曾经有个公司花三年时间做一款产品,技术倒是做到位了,很好很牛逼,结果 tmd 资金没跟上倒闭了
问倒闭原因,就是他们的 XX 技术主管过于技术过度技术,
不懂的不同的时期量力而行,最终项目惨败,不同的项目对技术要求也不一样

我就要一个留言板,够 100 个人用就行了,非要设计成 12306 的技术架构,我也是醉了
这种人哪个公司用,哪个公司倒霉
2017-10-25 11:59:57 +08:00
回复了 me15000 创建的主题 分享发现 有人用 goto 语句么?我是用它代替递归
@msg7086 看见你这种人就烦 Encoding.UTF8, Encoding.GetEncoding("utf-8"),我预留用来动态变换编码你个 xx
2017-10-24 18:12:09 +08:00
回复了 me15000 创建的主题 分享发现 有人用 goto 语句么?我是用它代替递归
2017-10-24 17:52:56 +08:00
回复了 me15000 创建的主题 分享发现 有人用 goto 语句么?我是用它代替递归
@wfd0807 不假思索和尝试,不具备发言权,剥夺你发言权利 ^_^,目前我用得很爽
2017-10-24 17:20:37 +08:00
回复了 me15000 创建的主题 分享发现 有人用 goto 语句么?我是用它代替递归
@halfer53 其它语言既然提供这个语法,我觉得还是有用它的时候,我一般情况下只在一个 方法体内使用,目前没发现什么不好,估计哪天我写这样的代码,在一个技术型的公司里面该有一大波人吐槽我了,
其实他们也没认真思考过这个问题,没有实践
2017-10-24 17:17:36 +08:00
回复了 me15000 创建的主题 分享发现 有人用 goto 语句么?我是用它代替递归
@hackpro 其实没懂你说的那种状况,我之前遇到递归到一定数量之后,内存溢出
2017-10-24 17:16:44 +08:00
回复了 me15000 创建的主题 分享发现 有人用 goto 语句么?我是用它代替递归
@hackpro 递归 10 万次试试,goto 表示无压力
2017-10-24 17:15:38 +08:00
回复了 me15000 创建的主题 分享发现 有人用 goto 语句么?我是用它代替递归
@SuperMild

说实话,都用过,唯有 goto 好用
2017-10-24 17:12:14 +08:00
回复了 me15000 创建的主题 分享发现 有人用 goto 语句么?我是用它代替递归
@fqwerl
@hjc4869

╮(╯▽╰)╭, 不要遵守教条,教条说是面条,意思是大量使用 goto 的情况下,然后就有人根据教条就 不敢用 goto 了
2017-10-24 17:09:33 +08:00
回复了 me15000 创建的主题 分享发现 有人用 goto 语句么?我是用它代替递归
@pcatzj 汗,不觉得我上面贴的代码 很方便么,goto 可以再一个 代码块里面,还用传参么?
goto 之前先给变量赋值,赋值之后 goto 过去,变量存储的值还是在的

伪代码:

var 参数 a=1,参数 b=2;

loop:

参数 a++;
参数 b--;

goto loop;
2017-10-24 16:53:25 +08:00
回复了 me15000 创建的主题 分享发现 有人用 goto 语句么?我是用它代替递归
@zhujinliang 没 goto 清晰吧,而且 while(true){} for 有作用域范围,不好跳出去,要跳出去还要再写一些逻辑
goto 倒是很省事,定义好 label,就可以跳到那里
2017-10-24 16:51:33 +08:00
回复了 me15000 创建的主题 分享发现 有人用 goto 语句么?我是用它代替递归
@takanasi
没懂你意思,我没说递归不能传参数
我只想说用 goto 可以代替递归 很好用,递归有限制而且消耗资源
2017-10-24 16:45:17 +08:00
回复了 me15000 创建的主题 分享发现 有人用 goto 语句么?我是用它代替递归
@b821025551b 我一般仅用它代替递归,逻辑也很清晰,因为递归好像在 .NET 中有最大嵌套次数限制,而且递归比较消耗资源,所以用 goto 发现很好
2017-10-24 16:42:04 +08:00
回复了 me15000 创建的主题 分享发现 有人用 goto 语句么?我是用它代替递归
@zhujinliang

```



//一个采集程序 goto 代替递归
public void Run(string listurl)
{
using (var wc = new WebClient())
{
loop:

string html = Encoding.GetEncoding("utf-8").GetString(wc.DownloadData(listurl));
var doc = new HtmlDocument();
doc.LoadHtml(html);
var nodes = doc.DocumentNode.SelectNodes("//ul[@id=\"data_list\"]/li/div/a");
for (int i = 0; i < nodes.Count; i++)
{
var node = nodes[i];
string link = "http://www..cn" + node.Attributes["href"].Value;
string title = node.SelectSingleNode("span[@class=\"sTit\"]").InnerText;
Save(title, link);
}
var nextnode = doc.DocumentNode.SelectSingleNode("//div[@class='page mb clearfixs']/em/following-sibling::a");
if (nextnode != null)
{
listurl = "http://www..cn" + nextnode.Attributes["href"].Value;
goto loop;
}
}
}

//如果使用递归
public void Run(string listurl)
{
using (var wc = new WebClient())
{

string html = Encoding.GetEncoding("utf-8").GetString(wc.DownloadData(listurl));
var doc = new HtmlDocument();
doc.LoadHtml(html);
var nodes = doc.DocumentNode.SelectNodes("//ul[@id=\"data_list\"]/li/div/a");
for (int i = 0; i < nodes.Count; i++)
{
var node = nodes[i];
string link = "http://www..cn" + node.Attributes["href"].Value;
string title = node.SelectSingleNode("span[@class=\"sTit\"]").InnerText;
Save(title, link);
}
var nextnode = doc.DocumentNode.SelectSingleNode("//div[@class='page mb clearfixs']/em/following-sibling::a");
if (nextnode != null)
{
var nexturl = "http://www..cn" + nextnode.Attributes["href"].Value;

Run(nexturl);
}
}
}
```
1  2  3  4  5  6  7  8  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2803 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 15ms · UTC 06:39 · PVG 14:39 · LAX 23:39 · JFK 02:39
Developed with CodeLauncher
♥ Do have faith in what you're doing.