代码梳理之道:目标驱动

很痛苦,很纠结

我们无论是在看别人代码,还是在研究源码的过程中都会面临一个基本的问题,那就是代码逻辑梳理,尤其是在代码比较复杂,或者是代码逻辑比较混乱的时候,问题更加明显。当我们梳理完这样的代码之后,我们的收获就是:

先不说代码那些框架里面的代码设计有很多,而且有的真的实现很复杂,不是一下子就能明白的。我们从最简单的入手:就说我们日常的代码维护和重构,因为这是我们平时遇到最多的情况了。

就我们工作中遇到的代码来说,80%-90%的代码是没有设计在里面的。基本上就是流水账,这种代码其实逻辑并不复杂,我们之所以觉得难懂原因在于我们的梳理方式本身可能就有问题。

一切都是代码:本末倒置,事倍功半

眼里只有代码,一个逻辑分支跟到底,看了也白看。因为我们眼里只有代码,只有符号。符号能有啥意义?所以我们就会越看越陌生,越看越不懂。尤其是那种分支比较多的逻辑,跳来跳去一会就蒙圈了。用这种思维方式去梳理的结果就是:剪不断理还乱。

一切都是目标:纲举目张,事半功倍

纲举目张的百科解释如下:

纲:渔网上的总绳;比喻事物的主干部分。目:网眼;比喻事物的从属部分。提起大绳子来,一个个网眼就都张开了。比喻抓住事物的关键;就可以带动其他环节。也比喻条理分明。

那么对于我们具体的代码梳理来说,纲和目又指的是什么呢?

纲:当前方法的目标

意思就是在我们看一个方法的过程中,我们首先要明白当前方法的整体目标,在弄明白当前方法目标之前不要去看当前方法中子方法的代码。因为如果不知道要去哪里,那么讨论怎么去有啥意义呢?看了只会徒增更多的困惑而已。

目:当前方法调用的子方法的目的

当我们明确了外层方法的目的之后,我们就明白每一行代码要达到一个什么样的目的,每一个具体的子方法不过是实现大目标中的一个小目标。

如果我们按照这种思维去梳理代码,那么我们面对的这些代码符号将不再是冷冰冰的符号了,而是一个个有大大小小的目的。从机器看来它们确实是一堆符号。但是在我们看来它们是一个个的目的,不同的目的实现不同的功能。它们是一堆有意义的代码。方法之间的来回跳动不再是我们理解的障碍,它不过是目的的封装。

之所以从代码角度去看代码效果很差是因为代码仅仅是一堆符号,它的表现力很差,所以很难让我们记住。更不要说一大堆代码之间跳来跳去了。而目标就有意义,所以记忆起来相对容易和深刻,几遍是跳来跳去我们也明白那不过是实现某些目标而已。

梳理代码如此,梳理人生也是如此。如果我们每天都活在生活的琐事中,
那么当我们某一天默然回首发现:忙忙碌碌了一生,啥意义也没有。
如果我们每天都活在一个一个目标达成之中,那么我们的人生就会变得很有意义。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值