LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1534|回复: 17

接手别人的代码真是痛苦啊!

[复制链接]
发表于 2005-6-28 11:43:43 | 显示全部楼层 |阅读模式
不明白他的思路是什么,看起来真是痛苦!!!

有什么好方法吗?
发表于 2005-6-28 11:58:53 | 显示全部楼层
这就是体现编程的水平了,什么是高手,完成功能不是高手,高手是自己写的代码,别人能短时间看懂。
清晰的设计思路,细致的文件、库、模块分类,规范统一的变量命名。优美的语句编排。
做到这些决不是短时间的修为。需要长期的磨练。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-6-28 13:10:06 | 显示全部楼层
我的水平还达不到判断高手的层次......
回复 支持 反对

使用道具 举报

发表于 2005-6-28 16:03:30 | 显示全部楼层
Post by 自由的大鱼
这就是体现编程的水平了,什么是高手,完成功能不是高手,高手是自己写的代码,别人能短时间看懂。
清晰的设计思路,细致的文件、库、模块分类,规范统一的变量命名。优美的语句编排。
做到这些决不是短时间的修为。需要长期的磨练。

很多高手都比较懒,没有文档给你看。
宏观上的结构,文档(包括图片)比源码更有说明效果。
回复 支持 反对

使用道具 举报

发表于 2005-6-28 16:09:28 | 显示全部楼层
不写文档是软件工程之大忌。
回复 支持 反对

使用道具 举报

发表于 2005-6-28 16:18:06 | 显示全部楼层
Post by kj501
不写文档是软件工程之大忌。

严重同意。
我在看几个小的开源软件,没有文档

不过,还有个问题,开源软件/Free software是Internet上的人合作开发的,协调可能不是太好吧,有时候代码更新了,可是文档却没有...
回复 支持 反对

使用道具 举报

发表于 2005-6-28 16:32:30 | 显示全部楼层
这也是没有办法的事,很多开源软件的项目管理不可能做得象商业开发那么严格。
我一般最常用的资料来源也就是mail list了。碰到问题时搜索一下,或许会有新发现。
回复 支持 反对

使用道具 举报

发表于 2005-6-28 16:50:14 | 显示全部楼层
Post by Illidan
很多高手都比较懒,没有文档给你看。
宏观上的结构,文档(包括图片)比源码更有说明效果。

那他就不是高手,他写的东西叫垃圾。有时候开源软件没有文档是故意的。
因为,有时候文档的价值比代码还大。
回复 支持 反对

使用道具 举报

发表于 2005-6-28 19:14:27 | 显示全部楼层
如果实在没有文档那也没得办法,看代码吧,祈祷他多给几个注释。

推荐Source Insight, 看代码一流,另外可以用rational rose反向工程分析
源码生成类图,对了解代码框架很有帮助。

看代码先要抓住框架, 从main进入,粗略的按照执行流程走一遍,找出代码
涉及到什么东西,那些类或者函数是最频繁使用的, 从基类和调用最频繁的函数
开始看,首先不要看得太细, 知道一个类或者一个函数是干嘛用的就可以了,不用
管它怎么具体实现的。

碰到#if, #ifdef,一般可以直接跳过去不用看, 这些东西一般是调试信息、方便移植
之类的代码。

一句话, 抓脉络。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-6-28 20:00:57 | 显示全部楼层
是一个.so库,我就是从他的test.cpp中的main()开始看的,还是很多函数啊,而且C和C++一起用

没办法,这个工程本身就不小,它的specification就1000来页

痛苦!!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表