来者有分!当你接手一个很复杂的系统时,你是怎么阅读源码、理清原作者的思路的? 假设没有任何文档,偶尔有一两行注释,还是英文或日文的。请说说你的好法子! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 本人最近做了这样一个事情, 我就是参考别人的源代码, 先大致了解整个概况, 然后自己从NEW PROJECT开始, 一模一样地实现他的功能, 然后修改, 实现自己的要求, 收获很大! 呵呵,瞎说。 50万 行没有文档 是不可想象的。 看你也没做过程序。 Wps 当年也就10万行没有文档都很难维护了。 我个人觉得:1。首先你可以粗看一下FileView下的各个类的.cpp或.h程序;了解大概 2。看完后,再看主类和主程序文件,你必须得知道这个程序是干什么用的,实现的功能,这在主程序主类(.cpp 和.h)一定有的。其他类的函数也好,接口也好,都是通过主类主程序里的函数相互调用来运行的,或同步运行的 3。自己最好写出主类,由程序实现功能的调用顺序开始,依次写出各个类的函数的 大体调用过程(类似函数的流程图) 4。做完上面工作后,下面的工作就easy了,根据自己写的流程图,挨个函数详细看就行了,不明白的地方,可以搜索看下他再哪些地方调用了,就知道实现什么作用了收工!OVER 用工具Source Insight orUnderstand C++ 刚看了visual browser c++ 和 Understand C++,前者能将函数流程图画出,不过有点粗略;后者能画函数调用图和include层次图,也很粗略。Source Insight是一直用的,不能画图,但上下文帮助方面做的比较好。要是谁能做一款共享软件,把这三者的功能集合起来就好了! 建议你看几本书《Code reading》、《代码阅读方法与实践 谁有看VNC的方法?一个类中直接用到的类有好几个,间接用到十几个,什么看啊?头都大了.最不喜欢什么类型都要自已定义一下,看时老是要去查一下 "不喜欢什么类型都要自已定义一下"这样写代码是有原因的,扩展性比较好。看代码时并不麻烦,只要安装一个Visual Assist就可以了。期待高手~~~ "基于消息机制的"最麻烦,比臭名昭著的goto还要令人讨厌。 刚开发了一个象棋游戏,散点分 软件运行错误,必须强制关机 才能关掉软件 UDP不通的问题,大家有没有遇到啊 网页内的链接地址全部改成绝对地址,要求适应性强 vc++ 对话框 图像平滑 为什么无法打开磁盘卷??? 关于Ctreectrl的问题,高分相送 faint,难道VC对textout的个数还有限制??? 怎样创建一个健值 在网络连接状态下拔掉网线,这时如何最快地感知网络中断呢? 请问谁有Windows下DHCP服务器编程的资料?有源码更好。谢谢。 请教,关于记事本问题,???急死了,????/
都很难维护了。
2。看完后,再看主类和主程序文件,你必须得知道这个程序是干什么用的,实现的功能,这在主程序主类(.cpp 和.h)一定有的。其他类的函数也好,接口也好,都是通过主类主程序里的函数相互调用来运行的,或同步运行的
3。自己最好写出主类,由程序实现功能的调用顺序开始,依次写出各个类的函数的 大体调用过程(类似函数的流程图)
4。做完上面工作后,下面的工作就easy了,根据自己写的流程图,挨个函数详细看就行了,不明白的地方,可以搜索看下他再哪些地方调用了,就知道实现什么作用了
收工!OVER
Source Insight or
Understand C++
要是谁能做一款共享软件,把这三者的功能集合起来就好了!
《Code reading》、《代码阅读方法与实践
这样写代码是有原因的,扩展性比较好。看代码时并不麻烦,只要安装一个Visual Assist就可以了。期待高手~~~