【问题标题】:strategies for learning complex software packages学习复杂软件包的策略
【发布时间】:2012-04-10 08:36:57
【问题描述】:

我是一个相当新手的 Java 程序员,我目前正在做一个项目来扩展一个已经开发了几年的软件。 所以它有相当大的代码库,而且以前的开发者也很清楚,所以如果不彻底了解它的结构和功能,扩展它就不是一件容易的事。

1) 我开始尝试处理系统的小部分并用思维导图记录它们。 (特别是我试图记录与外部系统的交互)

2) 我有《代码完成》这本书,我正在研究。

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

我应该采用哪些其他策略,我应该专注于某个特定方面吗?

【问题讨论】:

标签: java modeling


【解决方案1】:
10 Start small.
20 Break things.
30 Then fix what you broke.
40 Goto 20

【讨论】:

    【解决方案2】:

    也许您可以尝试对程序要解决的问题进行建模。如果您清楚地了解问题和解决方案所施加的限制,那么应该更容易理解程序本身。我只是在这里猜测,因为我不知道它是什么样的程序。

    【讨论】:

    • 在这种情况下,它是一个基于 Eclipse 的 Java RCP 应用程序,但我有几个这样的项目即将推出,所以我正在尝试制定一个策略来彻底学习这个平台(而不仅仅是学够了,然后破解它;-)
    • 说真的,无论采用何种方法、文档技术或建模软件,都很难跳入别人的代码库并开始进行更改。我目前正在维护一个软件,它是一年多前交给我的。有些地方我还没有挖掘,只是因为我还没有必要。我认为如果你试图抓住前面的所有东西,你会旋转你的轮子。维护编程我认为是最困难的,因为你不是最初的程序员,也没有在那里进行设计/方法讨论等。
    • 我相信,如果不理解它应该解决的问题,几乎不可能理解任何一段代码。对问题的理解越好,代码就越容易理解。一个明显的例子是包含业务规则的代码。
    【解决方案3】:

    在项目上找到一个好的教练对你来说很重要。找一个懂系统并且喜欢回答你问题的好人。

    还请架构师向您解释系统。如果它是一个好的,他可以指出重要的部分,并指出你不需要知道的部分(还)。

    然后尝试解决小问题。甚至是愚蠢的错误消息,然后从那里开始。几周后,您应该能够掌握系统的基础知识。

    祝你好运!

    【讨论】:

      猜你喜欢
      • 2013-07-20
      • 2011-06-23
      • 1970-01-01
      • 2017-05-13
      • 2020-10-26
      • 1970-01-01
      • 2019-04-17
      • 2018-02-25
      • 2021-09-08
      相关资源
      最近更新 更多