化繁为简,掌控力不可或缺的能力
![](https://img.haomeiwen.com/i1908484/49437bede9a01c60.png)
这是我在技术领域,解决难题时,常用的招数。每当碰上难緾的问题的时候,如果没有当绪,该检查的因素也确定没有问题,那剩下的办法,就是把纷乱复杂的程序,化繁为简,把影响因素变为最简单。大多数的情况下,把事情化为最简单后,问题的原因,就浮出水面了。在我从业这么多年里,屡试不爽的招数。
化繁为简,有一个前提,即对系统运行所有相关因素都要熟悉,了解其动作的原理。然后就可以把复杂,无关,次要的东西去掉。如果基本功不够,很多人用的办法,就是愚公雨山的办法,一个个去试,如同有些人修老电视机,运气好的话,拍几下,或者踹上几脚,还真有可能就能用了。于学习也一样,把复杂的知识,化繁为简,理清楚其逻辑思路,把不懂的东西拆成小份,然后逐个攻破。
而学习对知识的理解,也是从一个个简单的知识组织成一个庞大复杂的知识网。人对新知识的理解,也都是建立在已有知识的基本之上构建理解模型的。
理论上,是没有什么复杂深奥的理论。任何复杂深奥的理论背后,化繁为简,都可以变成非常简单,容易听懂的东西。比如,一张图,一个相片,一个网站 ,一个复杂的竞技游戏,全部都可以转化为最为简单的两种东西。
一个是0和1级成的数据 。
一个是加法运算。
本质虽然是简单的,从0和1组成的数据还有加法运算,再转化为复杂的图片,网站 ,游戏。是一个非常漫长的过程。只有计算机时代,才把这种由至简还原至繁成为可能。现在的计算机cpu可以一秒钟计算几十万次。 忽略掉这种时间成本,理论上,机械时代也可以完成这种计算,而且也历史上也曾经存在过机械计算机。
从我自己学习的经验来看,不管是数学,哲学,艺术,其背后的本质都是简单的。但由于衍生出来的表象纷乱复杂,不计其数。而在人类社会当中,人们中需要掌握其中表象的皮毛,就可以养家糊口,掌控得更多一些人,便可以为人师,甚至成为领域专家。
由于人的逐利本性,当表象皮毛可以转化为白花花的银子,这个时候,表象的作用盖过本质,当眼光仅停留于表象即可获利。人们必然不会去探求表象之后的本质。
于是乎,人都认为知识是无限的,复杂的,难以理解的,而且得头悬梁,锥刺股才能把学习做好。
事物的本质不会因为人们的看法有任何的改变。事物本质都是简单的,表象一定是复杂的。学习的方式,是要从有限的表象中,寻找该领域知识的运转轨迹,继而把其它没看到的表象推导出来。这是一种不需要看完所有表象,但又能推导出来的方式。
于做事,化繁为简的方式,依然适用。应用化繁为间,前提条件依然没变,就是需要对相关的影响因素有足够的了解。才可能把复杂的东西,去掉不重要的,次要的,化为最简单,最核心的部分。
一个复杂的工程,如果内部组成,是一个黑盒,完全不知道里边的成份。这是风险非常高的工程。对一个工程的把控,是需要把工程拆解,掌握的知识与经验越多,越是可以把工程拆分得越细。同时根据自身能力与资源,分解成风险的高低,重要程度的不一,完成时间的长短与成本。
一个工程拆分得越细,这种细不是指学生党的理论派的工程拆解。而是实战者的经验基础上脚踏实地的拆解。
什么是学生党的拆解?
一个软件工程,做一个项目,我们先做需求调研,再做概要设计,详细设计,花好流程图,然后开发.... 这就是学生党的拆分方式。
实战派, 我们手头有什么样的资源,我们做的是什么样的项目,是确定性项目(钱确定,需求确定),还是不确定项目(互联网产品,只有产品方式,没有实质的设计,就算有设计,也没有实际的数据证明符合市场的需求), 开发时间多长?人员组成如何 ?.. 实战主义者,更多的是根据自己的实际情况来做工程拆解。而非理论上的拆解。
不管是学生党,还是实战派,都有自己的一套理论来把复杂的软件工程拆解。变成可执行性的小任务。把复杂的项目变为可能实现的东西。
从解决问题,学习与做事的角度,我们都需要化繁为简,我们面对自己的理想,很多的时候,我们只有远大,崇高的理解,而怠于去化繁为简,把远大的理想,拆解细分,化为自己立即可以着手去实现的一个个小任务。