免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 10630 | 回复: 19
打印 上一主题 下一主题

[C++] 如何阅读大型程序 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-01-05 09:48 |只看该作者 |倒序浏览
近期想读下程序,但发现非常难。

比如一个网络程序模块,有6个cpp源程序,共5916行源代码,不包括头文件中引用的别的地方的代码。
1、我对业务还算熟悉,但是看到那么多变量定义时还是感到理解起来很吃力,因为有些变量根本就是过程变量。
2、函数层层调用的问题:看一个函数时已经有些头痛了,里面又调用了几个函数,这些函数中的每个又调用了别的函数Y1、Y2。。。,函数Y1、Y2。。。有些又调用了别的函数,有些调用了系统函数(或者标准库函数),一层层跟踪下去,跟到底时发现刚才最先看到的那个函数竟然忘记叫什么了,汗死。这是人干的活吗?
3、很多标准库函数或者系统函数,或者泛型函数或者其它的库函数等等,对于不是初学者来说也不一定记得全吧,而且c++的语法规则我相信很多程序员都要时时翻书的,遇到困难时,就像心里打了一个结,纠结,去翻书的同时也影响了心情和阅读的速度,如果业务不熟更加麻烦,几十、甚至几百个变量、函数、结构体把你的头脑干死,而且由于这个程序是网络程序,有些网络知识是必须掌握的吧,如果不懂,阅读质量也要大打折扣。怎么解决这些问题好呢?
4、请不要跟我说我基础不行应该先看书,打牢基础。我个人认为看书有很多东西是很难理解的,而且有些东西长时间理解不了也会有心结。
我也并不是非计算机专业的学生,我的基础还是有一些的,而且对linux、perl、shell都比较熟悉,但是看到庞大的C++项目想将其通读时,很压抑,很纠结。

论坛徽章:
0
2 [报告]
发表于 2011-01-05 09:51 |只看该作者
有文档一定要看文档。。

个人认为, 任何程序都是有所谓的机制和策略。

关心程序做啥的, 就看他做啥。
关心怎么实现的, 就看细节。

一层层的跟,没必要,至少开始没必要。

论坛徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
3 [报告]
发表于 2011-01-05 09:54 |只看该作者
6000行算少的了。
有文档的话先看文档,再借助某些工具,列出类、函数之间的关系图,再从主要模块逐个看相关代码

论坛徽章:
0
4 [报告]
发表于 2011-01-05 09:55 |只看该作者
恩 用source light 看代码吧 很方便的

论坛徽章:
0
5 [报告]
发表于 2011-01-05 10:15 |只看该作者
有文档吗。。

论坛徽章:
1
CU十二周年纪念徽章
日期:2013-10-24 15:41:34
6 [报告]
发表于 2011-01-05 10:25 |只看该作者
SI看代码。

论坛徽章:
1
CU十二周年纪念徽章
日期:2013-10-24 15:41:34
7 [报告]
发表于 2011-01-05 10:28 |只看该作者
先粗看,让整个流程有个大概了解。然后跟到模块里面去看。

论坛徽章:
0
8 [报告]
发表于 2011-01-05 10:28 |只看该作者
有文档,不过只是说明一些架构流程,具体函数用法没有说明,源代码里很多函数前也没注释说明该函数的用途。

论坛徽章:
0
9 [报告]
发表于 2011-01-05 13:31 |只看该作者
SourceInsight
cscope

论坛徽章:
22
丑牛
日期:2014-08-15 14:32:0015-16赛季CBA联赛之同曦
日期:2017-12-14 15:28:14黑曼巴
日期:2017-08-10 08:14:342017金鸡报晓
日期:2017-02-08 10:39:42黑曼巴
日期:2016-11-15 15:48:38CU十四周年纪念徽章
日期:2016-11-09 13:19:1015-16赛季CBA联赛之同曦
日期:2016-04-08 18:00:03平安夜徽章
日期:2015-12-26 00:06:30程序设计版块每日发帖之星
日期:2015-12-03 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-09 06:20:002015亚冠之吉达阿赫利
日期:2015-07-03 08:39:42
10 [报告]
发表于 2011-01-05 13:34 |只看该作者
很有同感,感觉看代码需要好的工具加时间
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP