看起来很简单的道理,但想要通过审视自己的行为而明白那道理的真实含义的话,还是有一定的难度。今天我就遇到了这种情况。
“抓主要矛盾”的哲学思想可能谁都明白。最近在阅读一个知名开源项目的源代码,发现我遇到的问题不少。通过反复思考才发现原来是我的读代码的方法不正确。
代码不像文章、小说,应该从头一直读到尾,这样才能保证情节的完整性。代码与之最大的不同就是,代码中有多条线。每一条线就是一条处理数据或处理业务功能的一条逻辑线,这条线的处理过程就是人类思考的“思路”、解决特定问题的方法。相对来说,这条线是比较靠近人类的思维方式的,是容易被人类所理解的。
一条线在一般情况下都是分布在不同的类、不同的源文件中。一个类可能只是处理一条或多条线中的一部分,相当于线条中的线段。一个类往往是由多个从属于不同的线的线段所组成。举个例子,如果说电动自行车的“行驶”是一个具体的功能的话,那么能量从电池中的化学能转化为电能,然后通过电线传到电机中,电机将电能转化为使轮胎转动的势能(即使轮胎转动的“力”),然后轮胎负责通过它与地面的摩擦力将势能转化为前进的力,最终转化为自行车前进的动能。能量的传递就是一条线。这其中的轮胎就是条线上中一个线段。如果说一辆电动车的“减振”功能,则也需要从轮胎开始说起,这样轮胎也就是“减振”这条线中的一个线段。同样是轮胎可以在不同的“线”中出现。
如果只是研究轮胎这一个事物(在程序中就是一个类),那么就没有办法理解这其中的“线”。因为你看到的只是一个局部,局部之间不产生联系的话,你就看不到“线”。那么,你就没有办法从更高的层次来看待整个系统的组成、它的几条功能线、它的各个类之间的关系,也就真的是“只见树木,不见森林”了。
抓住事物的主要矛盾还要在这个“认识”之上。只是看到系统中的线还是不够的,一个系统或程序的出现,一定是要解决一系列的问题的。问题有主要和次要之分,系统中解决主要问题的线就是主线,系统中解决次要问题的线就是次要线。主线可能有多个,次要线可能要比主线多得多。如果把所有的精力平均分布在多条主线与更多条次要线上,那么这就是做事情没有重点,俗话说“眉毛胡子一把抓”“做事没有章法”等。写到这儿,我想应该很明白了。
结论就是看程序要按“线”看,看“主线”放“次要线”。
OK
收工。
看程序要按“线”看,看“主线”放“次要线”
最新推荐文章于 2022-07-25 15:33:30 发布