- A+
我们想彻底理解一段Python的代码,这些代码放在一屏以内,这种代码理解起来很省力气,我们可以从顶部到底部一行一行的看完。但是如果这些代码是拆分成了好多个小方法,包含在众多的类(class)中的话,你需要跟踪哪个方法来自哪个类,无形中增加了理解代码的难度。
但我仍然认为这种观点是错误的,问题在于,这种观点的前提是你想去彻底的了解这些所有代码。
将自己的Python代码全部拆分成这样的小方法和小类,那我怎么在这么多东西中找一个想要的东西,我需要在几十上百个文件中找来找去,这种观点是有问题的,并不是他们说的不对,并且我的确有为了弄懂一个流程而在一堆的类中仔细翻查代码的经历。
如果你想从一个更高层的视角,一个抽象的视角看你的代码,那这种拆分是必不可少。
我们不可能把所有的知识都放在自己的大脑里面,当遇到一个不是那么简单的编程任务时,完全彻底的理解所有的代码是不可行的。
可行的办法,一般我们这么来做:
1.减少你需要理解的代码量。
2.尽可能的让代码好理解。
3.这其中的关键就是对代码进行提炼抽象。
让我来问你一个问题:你是否经常使用HashMap——或你喜欢的语言里等效的类、方法?很可能每天要使用数次,但你会经常的去查看HashMap的源代码吗?估计几乎从来没有过吧。因为我们都知道一个Map能做什么,知道HashMap是map的一个最常用的实现类。
这就是所有我们需要知道的。我们只是去用它。我们知道它的功能用法。我们知道当它被使用时会发生什么。
如果你能将你的函数方法和类进行像这样的提炼抽象,大多数时候你根本不需要去看这些提炼出来的源代码。你只需要看到它的名字就知道它在做什么。也许你不知道它是如何实现的,但你已经知道如何使用它,如果你真的需要深入这些代码研究,这个时候你才会遇到我们上面说的那种情况。
我们的Python代码如果理解起来比较费劲,说明它一定有可以改进的空间。
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫