以放松、扯淡的目光来看此文。这是一篇讲“术”和“道”的文章。
一、序
哈哈,今天晚上做了一道题,虽然没有做出来,但做的过程中,引发了很多思考。
当然最多的,还是关于思维方式的思考。
第一个事情,有时问题的情景很重要。
先说说那道题,
假设一张试卷,上面有6道4分题,8道5分题,8道7分题。总共120分。
每题答对就得相应的分数,打错0分。问一个人卷面总分有多少种可能。
假如只用纯数学来描述:
在m<=6,n<=8,k<=8的情况下,4m+5n+7k总共有多少可能?
虽然题没答出来,但是发现一个事情,如果一开始直接给的是纯数学问题描述的话,我就不会想到:竟然会有一种对称性在里面。
能答对42分,就有答对78分的情况,这是因为能得42分的那些题我不答,其他的都答对,自然会得到78分。
说明一个问题是啥呢?有很多抽象的东西,也许放到具体情境中就能理解了。让我不由得想起一笔画问题。
说一个图形能否用一笔画成,其中蕴含了一个数学原理,即奇顶点(线段的交点连接的线段个数)的个数为0或2,就能一笔画成。
当时学拓扑学时,就想为啥是0和2这两个数字呢。后来想明白了,一笔画个东西,可以想象成,你在走一个迷宫。
既然是迷宫,那么就有出口和入口。哈哈,2这个数字出来了。0的情况正是入口即出口。
原来如此!
记得高中时,学判断病句时,有个例子:
“围墙用的是红砖砌的”。
此句子读起来怪怪的,拿不准,所以我们可以用自己熟悉的东西来类比,比如:
“代码用的是js写的”。
果然很怪,应该说“代码是用js写的”,因此要改成“围墙是用红砖砌的”。
这里说了一个类比的事情,然而很多事情都可以用类比来解决。
最好的说明方法是什么?
打比方、举例子。
因此文章写的通俗易懂的原因就是,用的全是读者熟悉的语言。
反过来说,一个会学习的人,肯定会举一反N。
一个人的聪明程度怎么来刻画,是看他对任何两个不同事物,找到其最大的相似程度。
说有一道题,请写出接下来的数字是什么?
1、12、1、1、1、( )
此问题是非常难的,其中最有提示信息的数字是12。由12你能想什么?
想到12生肖、12月份。能否想到钟表呢?
此题的答案是2,刻画老式台钟打点的个数。
我也是反思不得其解,看到答案的马后炮。哈哈。
不过,有一点很肯定,能在没看答案情况下回答出来的,那肯定是聪明人。
说到相似性这个问题,不得不说另一件事情:转化问题的能力。
二、善于转化问题的人是聪明人
先说一个我特别崇拜的人,是谁呢,计算机之父之一:冯诺依曼。
此人非常屌,基本上他插手的任何一个领域,那都有成就的,比如博弈论。
在我看来,乔布斯在他面前就是个小学生。
之所以说他,是因为我要引用其师傅希尔伯特的一句话:
有一个问题你不知道怎么解决,说明有个类似相对简单的问题你不知道怎么解决。
希尔伯特,也是个屌得飞起的人物,对于此人,学数学的同学肯定知道的。
他说的这句话,是有递归的意味在里面的。
用在我们前端,有个问题你不知道怎么解决,经验是一方面原因,另一方面是基础不扎实。
举个例子,有什么办法迅速走出迷宫?
手机上的迷宫游戏,太过简单,因为我懂其原理,本质是一笔画问题。
解决方法,就是从入口开始,手摸着墙迅速的跑下去。
再说一道题,有这么样的一个长方体。
是一个一个正方体块累积起来的,
长方体的边长是2,4,6.
请问体对角线会穿过几个正方体块?
此题是考察转换能力的,
立体的不会做,那么平面呢?
2乘以4的长方形,对角线会穿越几个格子。
还是很难,再来看,有一条绳,我拿着刀平分两份,然后假设绳子没断再平分四份,那么最好绳子分成了几段?
基本问题解决反推回去,就能解决。
由原先的对角线穿块的问题,转化了,把对角线切成了多少段的问题。
你想像一下,有一块大豆腐,从三个方向(上、前、左)切开,体对角线切成多少段。
通过这个例子,想说明转化问题的能力也分两个方面。
第一、从量的角度考虑,把复杂的问题,处理成简单的问题。
比如问你,两人在圆形桌子上,轮流平铺一元硬币,谁放不下了,谁输。请问先放的赢还是后放的赢?
简化问题,直接把桌子想象成硬币的大小,你说先放赢还是后放赢。
有一个小故事说的明白,
物理大会上,一个哥们问旁边的人,
“他讲的n维空间你明白吗?”
“明白啊,他一说n我就想象成3。”
说道n维空间,有个说法对于4维空间的理解很有帮助,可见“聪明人”的思考方式:
“我们对于四维空间的理解,就像地面上的虫子看不到高尔夫球掉进洞里,会觉得平白无故地消失了。”
同样的理论可以,用在我们前端。
那些框架的作者,肯定不是第一次写框架,像我们想的那样思路流云行水的敲出来的。
简单的问题,基本的模块保不准人家自己敲了n便呢。就算没敲过,源码至少没少读。
要想站在巨人的肩上,得首先爬上人家的肩膀头。
第二、从质的角度去考虑,找到抽象的本质,然后再去找同类。
正如迷宫问题,抽象是数学那个公式,其同类是一笔画问题。
其同类的使用方式,正好拿过来用。
用设计模式的话来说,面向接口编程、或者依赖倒置原则。
用绝世武功来说,那是化功大法。
我甚至把这个东西用在了兴趣培养之上,
原先我以为我喜欢数学,初高中物理化学的不上心。
后来我发现我喜欢的是逻辑。这下包含了很多事物,所以喜欢编程、喜欢魔方、喜欢台球、喜欢看心理学书籍、甚至学了很多专业的专业基础课。
再后来我告诉自己不仅喜欢逻辑,也对非逻辑的事情感兴趣,听历史、看新闻、关心国家大事。跟人扯淡。
艾玛,就这一个例子,就能改变一个人那。
如果你喜欢篮球,别人问你兴趣爱好是什么时,你不要说篮球,而要说运动!!
三、逆向思维
最近看了《你不知道的js》,其里面感谢了TC39的所有人,
我发现我知道其中几个人的名字。原因是,他们是很多书的作者。
逆向思考:通过这个列表去找其相关著作。
大伙不是想看大神的博客那么,那些人不正是大神吗?
想起一道逻辑题,怎么用3升和5升的水桶量出4升水来?
逆向思考:4必须放在5里面,5得减1。1怎么来?3-2=1,2=5-3,问题解决!
小时候我同学给我表演了一个魔术:13张扑克牌A到K,从上面移动一张放在底部,然后亮出最上面的那张,保证整个顺序是A,2,3...K
艾玛,当时各种尝试去摆在这个顺序,最后好不容易摆了出来。记住顺序,向老爸炫耀。
他看了说,3副扑克,我也能按你说的顺序摆出来!只要反着操作就行了!
一句话点醒梦中人那,从此逆向思维深深的印在脑海。
再说一个相关的事情,电视上讲的破解骗子的手段,与其说教会大家怎么防骗,不如说教大家怎么去行骗。
逆向思维的应用不只是算算题那样简单的。
如果你能摸清作者的脉络,那么读完后,会觉得:如果让你来写,也会写出同样的故事。
四、有一个有时比是一个更重要
如果说做程序员对我影响最大的东西,就是设计模式了。
其中一个原则就是合成复用原则。
化功大法,是抽出精髓为我所用。那么乾坤大挪移,就是借力打力。
你不需要成为活百度,你会用百度就行。
你不需要成为富二代,你可以嫁个有钱的老公,或者傍个干爹。
你不需要成为解决一切问题的牛逼所在,你会提问题就行了,或者找个大神。
你不需要到处投简历,网上一扔即可。
所以此思维的方式,就是委托。
js的prototype其实就是一个委托机制,我这没有,到干爹那找找,找到就当是我的来用。恩哈!
我们为啥要用框架,为啥要用jq,乾坤大挪移啊!
为啥有中介的存在,委托啊!
为啥项目经理不需要干所有活!他可以委托其他人,自己负责调度就行了。
。。。
五、拳头比刀剑更重要
一本小说的主人公说,拳头练好了,那才是真正自己的,借助道具算啥英雄。
因为法宝总有不在手里的时候。
所以我喜欢素颜的女生!
这个其实是第四条的反面。
你要成为活百度,知道很多东西。
你要奋斗成为富一代。
你要成为大神。
别人借你的鸡下蛋,你要成为别人的嫁衣。
牛逼在这里,天天跟司机说去这去那的,如哪天司机不在,自己也能开车去跑。
知其然,知其所以然,知其不然,知其所以不然,这才是一个很高的境界。
很多高手都是创建别人手里的法宝的,多的不说了。
六、水平思考
我们从小到大,逻辑思维训练得差不多了。
然而这种垂直的思考方式,很容易让我们成为一个见到现象,就去评判的人。
本来你跟对方说个事情,没想到对方听完后,只会评价好坏。
反过来我们对世界的总总,要去换种角度想问题,不去说no或yes,对或错,好或坏,真或假,有用或无用。。。
而要说这很有意思,让我联想到其他事情,让我产生了新的想法,提供我一个不熟悉的思路。。。
任何东西只是触发想法的跳板!
指哪打哪变成了打哪指哪。
如果没用这种思考方式:他怎么这么装啊?
用了水平思考后:我靠,原来还可以这样。
又想起一个故事,说
面对家里爸爸经常打骂妈妈的现象,三个儿子,有不同的看法:
老大:长大可不要结婚,真是坟墓!
老二:以后我要对媳妇好些。
老三:还可以这样打老婆啊。
后记
写到这里,基本写完了,看起来有点虎头蛇尾,太困了,逻辑不太清晰。
估计没有今天的熬夜,此文是不会出的。
下面说说关于此文相关说明,我喜欢写这种文章,不过一般都发布在qq空间里。
所以就有一个问题,写在本站,合适不合适的问题,毕竟这是一个技术网站。
假如我是大神级别的人物,把标题换成《前端开发的思考方式》,
并且去掉非前端的例子。那么也许就合适了。
后来觉得,是因为本站的一道题,触发了这篇文章的产生,所以还是放在了这里。
我把它归类于面试题中,只是因为文中提到了很多逻辑题。
任何观点,都会得到正反两面的评价。
不过我希望读者能像文章提到的水平思考那种思考方式,去看待此文,
不说此文是好还是坏,关心是否触发了你的思考是关键。
我从小到大,就坚信,最好的知识是关于如何掌握学习方法的方法。
一样东西是“术”,我要掌握它的“道”,进而要掌握各种“道”的“道”。
文中讲的东西,没多少完备性和正确性之说。只是一晚上的思绪,纯属一家之言。
不过我可以推荐一些相关的书籍,也许你也对此感兴趣。
《水平思考法》、
《创新思维:解决问题的19个公式》、
《影响力》、
《思考,快与慢》、
《清醒思考的艺术》、
《黑天鹅》、
《万万没想到:用理科生思维理解世界》
上面这些书,都读过,当然也有其他类似的书,没列出来。
《黑天鹅》读起来比较晦涩。建议至少读一下《清醒思考的艺术》。
本文完。
网友评论