今天想准备3D实验的训练数据集,但是之前看过的代码已经记不清了。这样的问题一直存在,别人的代码啃过之后以为懂了,过几天又不记得,而且感觉没有学到什么东西。因此,想要google一下,如何从别人的代码中学习。所以看到了这篇blog:How to quickly and effectively read other people’s code。以下是博客内容的概要。
如何阅读代码是个好问题,因为解决了这个问题,我们可以得到两方面的益处:
1.通过阅读和理解别人的代码能够使我们更好的理解自己的代码,在遇到新的代码时也能更快的更轻松的理解。
2.阅读代码揭示了编程学习的一个重要技巧,不断接触大量高质量的代码。
方法
1.明白代码要做什么样的事情,从后往前去跟踪那些行为。
通过这样一个过程来了解三件事:
- 代码是如何组织的:变量在哪里被定义,不同类型的函数位于哪里。
- 作者的代码风格
-作者是如何思考和解决这个问题的
当完成上述过程后,就能够对代码的主体有所了解。
图示2.清理和重复
重复上述的过程多次,直到理解了所有代码。为什么上述过程有用?因为一段代码总是用来解决某一个问题的。由此理解了每一段代码以及不同段代码之间的关系,从而理解整体。
随着时间的累积,阅读了更多好的代码也就使得阅读代码越来越容易,越来越快。
重要性
接触大量优质专家经验和刻意练习是高效快速学习新技能的两个主要途径。很多时候,经过大量练习后我们并不能显式的说出来到底是为什么,但是在过程中获得一种近乎本能的直觉是成为专家的重要因素。
图示其实这篇文章在方法论上讲的并不多,在以往的看代码经历中我也大体是如此做的,但是我觉得有一些触动是这样一个类似看山的过程。一开始我们凭着直觉去解决问题,比如我过去看代码,然后随着经验的积累,我们可以将其总结成一些简单有效的规律,用于指导的方法论,最终,随着不断的积累,直觉越来越准确,大道无形。
网友评论