如何学习别人的程序代码
发布网友
发布时间:2022-04-22 19:15
我来回答
共1个回答
热心网友
时间:2023-07-18 12:56
如何学习别人的程序代码
只要是个程序员就会看代码,但是很多人,包括我在内,在看一些开源代码的时候往往一头雾水,不知从何看起。
越是结构好的代码,如果不理解它的思想越是难得看懂,例如Qt、Agg、CryptPP等。这里我将我的一些经验写在这里,留个记录吧。
完善的开源工程都会有文档,即使没有文档也应当有api-guid,那么我们先找到它们,这时我们不要管它是怎么设计的,先编译一个,照着例子写个程序运行一下吧,再试试一些高级功能。这时我们在心中先猜猜它应当是怎样设计的(大多数情况是没有想法)。好吧,我们再来看文档,文档中一般有静态结构的说明,如模块划分、类列表、每个类的成员列表。嗯,还是一头雾水啊,没办法,我们打开源码所在的文件夹,看看源码的组织方式。嗯,有点头绪了,大多数情况下,目录结构与工程结构是一致的,而我们编写例子程序的时候使用的接口一般在源码的include目录下。那好吧,我们根据头文件名和目录结构去找相应的实现文件吧,但这往往相当困难,因为你会发现它根本就不是你所想的那样。一个类或一个外部变量,你想找到它往往会动用Windows的搜索。看了几个小时还没有太大的进展,仍然不知道它的头(高层的入口)在哪,尾(底层的具体实现)在哪,不过你至少对那些地方有哪些文件都熟悉了,那些零星的注释也被你看了一遍。这时该把你写的例子程序拿出来了,我们单步跟进去,跟的同时我们也注意一下所跟到的文件的物理位置、它附近都有哪些文件、哪些类或结构。一直跟下去,这样我们往往会顺藤摸瓜找到最底层的实现,并发现一条执行路径(太*的或用了一堆模板的除外)。由于你已经对工程的结构有了一定了解,这时你可以从头和尾一起开始看代码(前提是你已经找到了一个头和一个尾),将一条线弄清楚,那么这个工程的其他线也应该是差不多的设计思路。
有些开源工程里面的宏特别多,那你要当心,首先搞清楚这些宏吧。
用C写的工程往往比用C++写的容易懂,因为它最多有很多函数指针和extern变量,而后者则令人头疼得多,如果你实在没有办法,那么上网搜吧,很多著名的开源工程一般会有一些人将其研究心得放到blog上,看一看,说不定一下豁然开朗。
好吧,就写这么多,真是乱七八糟。
如何学习别人的程序代码
一直跟下去,这样我们往往会顺藤摸瓜找到最底层的实现,并发现一条执行路径(太变态的或用了一堆模板的除外)。由于你已经对工程的结构有了一定了解,这时你可以从头和尾一起开始看代码(前提是你已经找到了一个头和一个尾),将一条线弄清楚,那么这个工程的其他线也应该是差不多的设计思路。有些开...
如何快速高效的学习程序代码?程序入学者如何更好更快的提升自己?
1、熟记该门语言的语法、命令、库等基础知识。2、尝试自己动手写小程序。3、看其他人写的程序。4、回过头来再认真阅读一遍该门程序的基本命令、语法、库等基础知识。5、尝试写一些稍微复杂的程序。6、加入团队,一起开发更为复杂的程序。做到以上,基本就可以很快提升到一个不错的水平了。
怎样学习代码
1、学代码要有信心、恒心。2、学代码要由浅入深,从简单到复杂。
怎样学习源代码
1. 画出整个程序的流程图,理解整个程序流程的思想。画流程图的方式更让人很直接的理解程序的整体流程,而不会被代码所干扰,让程序员总体上把握整个程序。2.对流程各节点(函数或过程)的理解。流程的每一节点是构成整个流程的不可缺少的部份。3.再把流程和流程各节点串起来理解整个程序,可能的话最好...
程序员自学编程的6种方法,高效学习
程序员自学编程的6种方法1、最好的学习方式 对干初学者来说,可以采用视频+书籍的方式进行学习。这两种方式形成互补关系。另外阅读代码也可以帮助你解决问题,了解最佳做法,这里的阅读代码是指书籍,博客文章,开源代码等等。编程教学视频可以让你迅速掌握编程语法等等,但通常比较生动、浅显,不成系统。而...
学代码难吗?
1.第一种方法,从最简单的程序入手,学习基础代码,也就是以任务为导向的一种学习方式。因为编程中的代码非常多。如果将大部分代码学完之后再去编程,你会觉得代码复杂不容易记忆,就会降低编程的乐趣甚至产生厌烦心理。但如果从简单的程序入手,几个简单代码的应用就可以成的结果,会加深对编程代码的认识...
新手怎么学代码编程?
2、基础理论(数学、数据结构、算法等)。3、设计方法(编程原则、设计模式、框架设计等)。4、库(核心、基础、UI、扩展、游戏引擎等)。5、计算机相关(操作系统、网络、图形学等)。6、领域知识(游戏设计、网站设计等)。7、开发工具(编辑器、IDE、自动部署等)。8、项目管理(进度管理、分工协作...
新手怎么学代码编程
新手学习代码编程的方法论:(1)选定方向:按照第一个分类,大家找到自己感兴趣的方向,进行学习。找到你要选择的行业,它所需要的技术是什么?然后抽丝剥茧,找到对应的学习资料。(2)基础学习:要学习的第一步就是基础语法,那什么标准才是学会了呢?做出 Demo,从输出第一个 hello world,到完成一...
怎样学好软件开发?我是一个不会学习的人怎么办?只会照着老师的代码打...
首先你自己得从高一些的格局上来看软件开发,明白软件开发是怎么一回事,不能只是跟着老师做,其实程序员每个人写的代码都不一样,即使是为了实现同样的功能,每个人的思路也会不一样,代码就不一样。所以照着老师的重复,没有什么意义。你要在他的代码里看到,你当前学的这门编程语言或工具都能干什么...
程序员如何学习源代码
想要学习源代码,你不妨按以下步骤试试。第一步,画出整个程序流程图,理解整个程序的思想。这个方式可以让人很直接的理解程序的整体流程,而不会被代码所干扰,让程序员从总体上把握程序。第二步,对流程各节点(函数或过程)的理解。流程的每一节点是构成整个流程的不可缺少的部份。第三步,把流程和...