大家来谈一谈,如果开始看一个开源项目

因为学习的需要,我可能需要看一个诸如apache类似的项目

但发现,此类项目的源码量都很大。

按照我一般的做法,通读从main开始的框架,然后再再一步步扩展开来;如果遇到多线程,会加入写到logger等的方式查看调用以及输出。

说说我最近感到此种做法的不足之处:
1、很慢(那是当然)
2、容易乱(调用的层级越多越容易出错)
3、容易迷失在非重点的地方中

大家来说说,在需要看这种项目的时候,该如何着手?

还求大家多多分享经验。。谢谢
...全文
152 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
healer_kx 2013-03-04
  • 打赏
  • 举报
回复
你说要是看代码,就自己慢慢看, 要是看开源项目,除了看代码,还的看他们的邮件列表什么的。
图灵狗 2013-03-04
  • 打赏
  • 举报
回复
另外补充一点,如果文档齐全的话,那么建议先从文档看起,然后再来理解代码。
引用 8 楼 zengraoli 的回复:
引用 3 楼 turingo 的回复:没有什么特别的方法,多看多画多动手,量变引起质变的过程,也就是必须保证足够的量。 有道理!
tonforce 2013-03-04
  • 打赏
  • 举报
回复
项目太大的话,找到她的概设,有详设更好 最好钻龙打洞也要搞到。 如果没有,就只能踏实地按照楼上各位大侠的描述干咯 不过如果自己能把理解了或未理解的模块在纸上形成个记忆 那会相当有帮助的,不然通常看了这块忘了那块,很痛苦的
漫步者、 2013-03-04
  • 打赏
  • 举报
回复
还是要从整个框架着手,然后看从程序入口开始去理解项目
qq120848369 2013-03-04
  • 打赏
  • 举报
回复
架构比较重要, 能找个人先了解一下架构比直接扎进去看管用.
赵4老师 2013-03-04
  • 打赏
  • 举报
回复
用Source Insight软件
赵4老师 2013-03-04
  • 打赏
  • 举报
回复
按各种线索看: ◆入口、初始化、主循环、退出前的清理 ◆建立日志、写日志 ◆建立连接、关闭连接 ◆读取配置、保存配置 ◆接受请求、解析请求、组织结果、发送结果 ◆……
  • 打赏
  • 举报
回复
引用 3 楼 turingo 的回复:
没有什么特别的方法,多看多画多动手,量变引起质变的过程,也就是必须保证足够的量。
有道理!
  • 打赏
  • 举报
回复
引用 4 楼 zhao4zhong2 的回复:
对学习编程者的忠告: 眼过千遍不如手过一遍! 书看千行不如手敲一行! 手敲千行不如单步一行! 单步源代码千行不如单步对应汇编一行!
这话说得有点深奥了,难不成是单步汇编?找bug可以,看项目的框架 看汇编有点。。。
  • 打赏
  • 举报
回复
引用 1 楼 healer_kx 的回复:
你说要是看代码,就自己慢慢看, 要是看开源项目,除了看代码,还的看他们的邮件列表什么的。
是的,我也经常看他里面的邮件的
  • 打赏
  • 举报
回复
其实你自己的方法就不错,你可以再看之前,也就是你第一轮的时候,先猜哪部分是核心的,然后再顺藤摸瓜
zhao4zhong2 2013-03-04
  • 打赏
  • 举报
回复
对学习编程者的忠告: 眼过千遍不如手过一遍! 书看千行不如手敲一行! 手敲千行不如单步一行! 单步源代码千行不如单步对应汇编一行!
图灵狗 2013-03-04
  • 打赏
  • 举报
回复
没有什么特别的方法,多看多画多动手,量变引起质变的过程,也就是必须保证足够的量。
ForestDB 2013-03-04
  • 打赏
  • 举报
回复
多看吧。 东看点,西看点,尽量起来。

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧