阮一峰老师又被人怼了,这次是关于 JavaScript 的快速排序实现

2018-05-11 13:43:34 +08:00
 cairnechen
起因是 ideawu 发微博吐槽几乎所有的前端面试者的快排实现都是阮一峰的错误版本。

v 友们怎么看这个问题?

完整分析见 https://juejin.im/post/5af4902a6fb9a07abf728c40
37163 次点击
所在节点    JavaScript
194 条回复
Telegram
2018-05-11 23:11:55 +08:00
只能说不是最优解,不能说错误吧。
还不是一样能实现功能
agagega
2018-05-11 23:27:04 +08:00
别的不感兴趣。就想知道,阮老师或多或少也被怼了这么多次了,他回应过么?知错能改没关系,但是闷头不说话就有点那啥了。
ltoddy
2018-05-11 23:27:57 +08:00
说实话,阮写的东西太基础,而且也没什么能够让你提升的东西。
alamaya
2018-05-11 23:36:23 +08:00
@bucky 我觉得你的表达能力有问题,不适合写博客
naeco
2018-05-11 23:39:55 +08:00
树大招风
bucky
2018-05-11 23:45:18 +08:00
@alamaya 对呀,我没写呀
mulog
2018-05-11 23:45:22 +08:00
感觉能写出这个错误实现的面试者,真的就是纯背诵选手啊。。
哪怕你本来不会,为了准备面试学几个常见算法,你好歹 wiki (哪怕百度吧。。)一下能看到时间空间复杂度分析,你再看看这个实现难道看不出有问题么。。
orangeade
2018-05-11 23:58:38 +08:00
@murmur #101 safari 是真坑,今天还看到微博 pwa 的开发者吐槽 iOS 的 safari 上使用 pwa 的 bug
wizardforcel
2018-05-12 00:05:12 +08:00
非原地快排就是这样,不爽就不要玩。

另外,每个调用里面的扫描从一次变成了三次,所以时间复杂度并没有增加。
ryd994
2018-05-12 00:07:20 +08:00
@bucky 呵呵,举个例子,Nginx SSL
很常见的问题吧
如果你百度,搜到的博客教程一多半都有 ssl on;
然而只要看看文档,就会发现
http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl
It is recommended to use the ssl parameter of the listen directive instead of this directive.

如果你查 nginx 判断文件存在,百度一下
有一多半的人说用 if -e
呵呵: https://www.nginx.com/resources/wiki/start/topics/depth/ifisevil/
当然,现在搜,可以看到很多说 try_files 才是正解的,那是因为这个问题实在太久了。官方文档终于扩散到百度知道了。

如果你问 Nginx 怎么加 SSL,有人回答
rtfm: http://nginx.org/en/docs/http/configuring_https_servers.html
我认为这是很友善的回答
如果你问怎么判断文件是否存在,有人回答
rtfm:try_files
我认为这是非常值得感谢的回答,因为这是对的!错的答案除了表达虚伪的关心,还不如不答。一大段 if -e 配置只会污染信息。

你连自己的领域都不认真钻研,那就永远只能吃人家剩下的。

如今互联网上,最不缺的是不知真假的信息,最缺的是正确而及时的信息。那么哪里的信息最正确呢?源码、文档。

看教程救火可以。但是不看源码不看文档,不钻研不行。谁不是一步步走过来的?看个文档有多难?

源码有时候是不得不读。因为连文档都跟不上。你上网搜 Linux TCP 栈,绝大多数都是 2.x 的。Linux 内核都 4.17 了好么。不读源码还有选择么?

阮一峰的博客我也看,吃早饭的时候就当娱乐一下。但是认真要用的东西,我只看官方文档。因为迟早还是要看的。
教程我也看,但是里面的每一行代码,我都会参照官方文档。
文档,是永远避不开的。
ryd994
2018-05-12 00:11:59 +08:00
说到底,这锅还是他自己背。不写 errata
错了就错了呗,还留着误人子弟,还留着被人一遍遍的怼。
都这么多年了,被怼了这么多,还能坚持不改。是真牛逼。
ryd994
2018-05-12 00:14:18 +08:00
@bucky 希望你今后在饭店吃饭,不要给差评,因为你做不出一样的菜
希望你今后在淘宝买东西,不要给差评,因为你没有开店买一样的东西
bucky
2018-05-12 00:14:18 +08:00
@ryd994 我已经表达的很清楚了,教程和文档的功能不一样,你非要理解成我不让大家看书,看文档,看源码,那就没必要说什么了,基础的理解都是错误的,还有什么讨论的必要,根本没在一天线上,讨论就是浪费时间
ryd994
2018-05-12 00:17:19 +08:00
@Telegram 功能是实现了啊
O(n^2) 的话还不如用冒泡
至少代码简单,小学生都懂
而且内存占用还小呢!
misaka19000
2018-05-12 00:21:14 +08:00
现在大部分的前端的真正水平大家都懂的,心里面明白就行了
bucky
2018-05-12 00:21:25 +08:00
@ryd994 你这种人的存在就是我维护阮一峰的原因,思路混乱,理解能力差,脑子里装了几个大词时不时蹦出来,自己都不知道自己表达什么,和你交流就是浪费时间
ryd994
2018-05-12 00:32:58 +08:00
@bucky 对啊,阮一峰放个屁也是香的。
原文还在呢,至今不改,至今不提醒别人。
管坑不管埋。
这样的垃圾文章,到底是帮人还是害人。

话说回来,要是没人怼他,这段代码是不是就此流传开去呢?哦,现在有这么多人怼过,依然在继续流传。

明明有正规的算法入门教科书,快排就是一个小章节而已,看完用不了一个小时。到底是谁理解能力差呢?
ryd994
2018-05-12 00:35:51 +08:00
@bucky 你这就和维护伪科学的人一样。
你们正规科普宣传没有做到位啊,至少他们讲的我们能看懂。
为了一点尊严可以颠倒黑白
20015jjw
2018-05-12 00:46:09 +08:00
@bucky
“...可是没有表达能力,技术高对他人有什么作用?上学的时候就有许多这种老师,知识深厚,讲课屁都不通...”

所以你宁可要菜的老师生动形象简单易懂地把错误的知识传播给你 也不喜欢让强的老师用比较枯燥的方式教授正确的知识...
不得不服...

看你回复挺尴尬的.. 我就随便戳个漏洞.. 其他不多说..
zhicheng
2018-05-12 00:51:55 +08:00
@20015jjw 看你的回复也挺尴尬的,

技术高的老师有表达能力好的,也有表达能力差的。
技术菜的老师知识有讲错的,也有讲对的。

为什么你就钻到那个牛角尖里了呢?为什么就觉得对方就喜欢菜的老师,对方喜欢错误的知识呢。对方明明讲的是用生动形象的方式传播知识是更好的方式。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/454048

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX