2010-04-28 52 views
2

我是一个相当新手的Java程序员,我目前正在开发一个项目来扩展已经开发了几年的软件。 因此,它有相当大的代码库,以前的开发人员都知道它,所以如果不彻底理解其结构和功能,扩展它就不会容易。学习复杂软件包的策略

1)我已经开始试图解决系统的一小部分,并用思维导图来记录它们。 (特别是我试图记录与外部系统的交互)

2)我有本书“代码完整”,我正在努力。

3)我已经在代码中指出了一些工具,例如“tattletale”,以获得一些依赖关系图。

我应该采用哪些其他策略,我应该关注一个特定的方面?

+0

关闭重复http://stackoverflow.com/questions/2658133/code-understanding-reverse-engineering-best-concepts-and-tools-java – 2010-04-28 19:53:24

回答

3
10 Start small. 
20 Break things. 
30 Then fix what you broke. 
40 Goto 20 
0

也许你可以尝试模拟程序要解决的问题。如果您对该解决方案存在的问题和限制有清晰的认识,那么应该更容易理解该程序本身。我只是在猜测,因为我不知道它是什么类型的程序。

+0

在这种情况下,它的基于Eclipse的Java RCP应用程序,但我已经有一些类似的项目出现了,所以我正在试图制定一个策略来彻底学习这个平台(而不是仅仅学习,并且破解它;-) – Tom 2010-04-28 20:04:22

+0

严肃地说,很难跳进某人删除代码库,并开始进行更改,而不考虑方法或文档技术或建模软件。我目前维护一个软件,并在一年前交给我。有些地方我还没有挖掘到,只是因为我还没有到。我认为如果你试图把握所有事情,你就会旋转你的轮子。维护编程我认为最难的只是因为你不是原始程序员,也不是在那里进行设计/方法论讨论等。 – Jeremy 2010-04-29 19:36:47

+0

我相信,理解任何一段代码几乎是不可能的,而不理解它应该是的问题解决。对问题的理解越好,代码就越容易理解。一个明确的例子是包含业务规则的代码。 – David 2010-05-02 09:44:02

0

重要的是你找到一个好项目的教练。去找一个好人,谁知道系统,谁喜欢回答你的问题。

也有建筑师解释你的系统。如果是好的,他可以指出重要的部分,并指出远离不需要知道的部分(还)。

然后尝试捡起小问题。即使是愚蠢的错误消息,并从那里去。在几周内,你应该能够掌握系统的基础知识。

祝你好运!