问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何学习别人的程序代码

发布网友 发布时间: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,到完成一...

怎样学好软件开发?我是一个不会学习的人怎么办?只会照着老师的代码打...

首先你自己得从高一些的格局上来看软件开发,明白软件开发是怎么一回事,不能只是跟着老师做,其实程序员每个人写的代码都不一样,即使是为了实现同样的功能,每个人的思路也会不一样,代码就不一样。所以照着老师的重复,没有什么意义。你要在他的代码里看到,你当前学的这门编程语言或工具都能干什么...

程序员如何学习源代码

想要学习源代码,你不妨按以下步骤试试。第一步,画出整个程序流程图,理解整个程序的思想。这个方式可以让人很直接的理解程序的整体流程,而不会被代码所干扰,让程序员从总体上把握程序。第二步,对流程各节点(函数或过程)的理解。流程的每一节点是构成整个流程的不可缺少的部份。第三步,把流程和...

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
环球黑卡里面有钱吗 收留我歌词 让我们相爱歌词 ...只知道前面的歌词是‘我燃烧了翅膀,你却像风一样,那风铃在摇晃,倾听... 酒店集中隔离期后,为啥还要经过研讨才能出 ...我燃烧了翅膀 你却想风一样 那风铃在摇晃 倾听一种悲伤~~~_百度知... 多吃辣椒对皮肤好吗? 集中隔离到期结束流程是什么 关于时间换算的问题... 从1998年到2024年一共经过了多少年? 之前会写字学习另一种字体忘记以前的字成语怎么说 成年人怎样学习写作 耽美小说经典之作,我要学习学习别人的写法 1.用 在括号里选择正确的读音2.在括号里填上恰当的关联词3.从片段中的加点字 什么样的公文算是写得好?怎样学习别人的公文写作能力 别人写的的字体特别好看,她教我写,该怎样学? 有的人总是学别人是什么心理?生活上穿着上都模仿? 练字如果学别人的字能写得和别人一模一样吗? 如何模仿他人的文风? 学习别人的文章怎么写 怎样学别人写字 我发现我自己总是学别人,比如,别人写文章我就会学着他写文章……,我该怎么办,我也不想这样。(而且我 什么算抄袭?看别人作文然后学了别人写作方式算吗? 怎么学习别人的写作? 学别人写字,结果忘了自己怎么写字了我该咋办? 学别人写字违法吗 “绿皮火车”的速度是多少? 春节期间,你有坐“绿皮火车”回家的经历吗? 火车票软卧可以洗澡吗 火车软卧有没有洗澡的 北京到莫斯科,如何才能乘坐K3国际列车? 孩子写字太丑了,要不要带他去练练书法?上初中还有救吗? 给别人写学习评价 小猴学别人可以这样写标题嘛 微信可以查地址吗 如何成为一名出色的教师心得 怎样做个好老师心得 如何做好新时期幼儿教师心得体会 <如何做最好的教师>心得体会 如何成为一个好老师 读书心得 如何做一名新时代的好教师心得体会 关于HDMI接口的刷新率 不小心把整本发票专用章盖错了可以重新盖新章吗? 关于发票盖错章怎么办 支票盖错章怎么处罚? 银行会计凭证印章加盖错误如何更正? 有什么办法可以免费收看vip付费电影 有什么软件看视频不要vip 怎么办不动产证 不动产登记证明怎么办理 如何办理不动产证?