你们是怎么快速熟悉新项目( 10 万行+)的代码的?
|
kaedeaDec 23, 2015
1
大改乱改
|
|
2
技术主管走人了,现在他的一个项目丢给我,让我来维护,看了几周了 感觉还是没有一点头绪,也没有一个技术文档,只是把业务大概给我说了一下。。。。现在老大要求我 需要熟悉每一行每一个量。。。。。
|
|
kaedeaDec 23, 2015
4
把项目按业务或者功能分成小块,试着重构某些小块,很快就变成你是最熟悉的人了。
|
|
wenmingvsDec 23, 2015
5
楼上的头像让人浮想联翩
|
|
7
一年下来我把公司项目大大小小的模块都拆过了,最近更是把整个架构都改了。
这么做有个坏处就是,每天都会有一堆人跑来问你“那个谁,这里要怎么处理才好……” |
|
naiyuDec 23, 2015
8
我是这样的,先熟悉业务,然后走一下流程,接着走到程序入口,然后一步步来看
|
|
h1029306Dec 23, 2015
9
先编译,再运行看看,然后加 log ,看 log 日志,哪里不会加哪里
|
|
timothyyeDec 23, 2015 via Android
10
一边看一边吐槽,然后就看懂了
|
|
FelldeadbirdDec 23, 2015 via iPhone
12
有需求自然慢慢懂的了
|
|
sfree2005Dec 23, 2015
13
1. 大概了解项目干什么的,知道最主要的几个 use case 是什么
2. 修改些小 bug 3. 增加些小功能 4. 修改大一些的 bug 5. 增加大功能 之后就基本上了解了~~ |
|
ValyrianDec 23, 2015
14
主要靠 git grep
|
|
loadingDec 23, 2015 via Android
15
遇到有 bug 的地方就重构哪个地方。
|
|
iMouseWuDec 23, 2015
16
一个人想一下子搞明白 10W 行代码。。。有点吃力呀。。。
可以先画流程图理清业务,debug 一些核心模块,接下来就是修 bug 熟悉流程 |
|
17
1 、 UML 工具、思维导图先备好。
2 、把包理一遍,尽量从包名获取足够的信息。 3 、找到入口函数,分析里面的类,如果有超类,先从超类分析。 4 、慢慢构建 UML 图和思维导图,不断回顾,总结。 5 、试着运行代码,断点调试。 6 、继承核心类,尝试修改逻辑。 大概差不多了 |
|
Light3Dec 23, 2015
18
不知道是什么语言。边改边吐槽这是真的。适当的记一下因为很多的时候看着看着就忘了。下次再找只是有模糊的印象。再其次没有文档自己慢慢把自己维护过的 总结下写一个。
|
|
KentYDec 24, 2015
19
如果最熟悉的人走了, 那就很难了.
如果人家还在, 可以通过做小的 bugfixing and CR 开始. |
|
hqs123Dec 24, 2015
20
有哪个需求变动就改哪一块,其它简单看看就行,以不变应万变。
|
|
l1905Dec 24, 2015 via Android
21
写单元测试
|
|
clockwerkDec 24, 2015
22
无他 唯改代码时候会去熟悉
|
|
ichanneDec 24, 2015
23
我最近正在接收一个 23w 行代码的 iOS 项目。。。赶紧收藏帖子
|
|
mko0okmko0Dec 24, 2015
24
告诉老板功能太多吃不消.
问老板那些功能是想留下的. 然后直接做新的,旧的当参考. 我只能说,能接手别人没留下技术说明与注解的万行代码, 这种人我佩服,但绝对不想变这种人 |
|
25
如果是标准的 mvc 模式写的代码,那分功能模块一层一层看。
如果是乱成一团的,那就先自己把它分段,按照你熟悉的方式做“段落整理”,然后再去看具体的代码。 |
|
moe3000Dec 24, 2015
26
业务 走流程 边走边看代码 代码再联系数据表
|
|
spacewanderDec 24, 2015 via Android
27
改 bug 的时候渐渐就熟悉了
|
|
zhuangzhuang1988Dec 24, 2015
28
使用最强 IDE, visual studio 或者 jetbrains 家族.
然后下个断点, 调试 |
|
thinkmoreDec 24, 2015
29
一个模块一个模块来,然后自己整理画类图
|
|
30
直接丢给我一个项目让我熟悉是不可能的。。
除非丢给我 BUG ,让我去改,才能熟悉项目。 |
|
31
我认为只需要熟悉业务流程及代码的架构。然后需要修改的时候就可以大概知道上哪改就行了。不可能去熟悉每行代码的,没必要。
|
|
32
1. 按 usecase 的流程读代码, 花时序图 /流程图之类的(一定要有记录)
2. 改 bug 其实 2 效率比较高. 没有 bug 你可以考虑模拟在原有的业务上增加点功能. |
|
33
熟悉每一行……这种要求也是醉了。
这种略大的程序,还是搞清楚整体结构就行了,然后哪里出问题看哪里,或者需要调整哪里看哪里。毕竟生命是有限的。 我不是说 10 万行代码看不完,只是过多的精力投入到细节上完全没必要,毕竟细节太多了。 |
|
caixiexinDec 24, 2015 via Android
34
帮忙修一个月 bug 。。。
|
|
35
从项目结构猜,从类名猜用途,运行打 log 。证实猜想是否正确。
找关键结点 比如入口函数 跳转函数等。 |
|
36
分享下我熟悉一个上 10W 行(伪)代码的当时做法.
1. 熟悉业务,分析业务,把关键业务入口找出来,然后跟踪代码执行流程. 2. 整理外部依赖,把数据库连接,缓存系统,第三方请求等等记录下来. 3. 非到必要时候,别瞎改代码,否则到处冒烟,不骗你. |
|
37
1 、整理全局流程图,标注好注意点,打印出来
2 、整理模块划分,打印出来 3 、根据模块整理单独接口,打印出来 4 、整理公共服务模块,把公共服务模块都独立出来 做完这些对系统也了解的差不多了。 |
|
oska874Dec 24, 2015
38
多加班。
|
|
ohmycodeapeDec 24, 2015
39
边看边在心里骂,顺便做好记录和结构
词穷的时候基本上就理解了 |
|
ragnaroksDec 24, 2015
40
重构
|
|
dalangDec 25, 2015
49
从 api 层入手,了解重要的几个 api 的 workflow
|
|
50
@mko0okmko0 为了 RMB
|
|
kaka8wpDec 25, 2015
51
先找找资料,改改小的模块,看看流程
|
|
52
我准备这样做了,把功能都拆分出来,做成一个一个的小程序,一个程序实现一个功能,不知道这样怎么样
|
|
cxbigDec 25, 2015
53
按功能拆分成小块,哪块要改就先搞清楚那一块。
能落实到文档的就尽快落实,这样后面的人也容易上手。 项目上了规模都不是轻而易举就能全通的。 |
|
WendellSunDec 27, 2015
54
改 bug 。
|