编程移植程序的时间表

时间:2010-02-02 23:52:03

标签: project-management porting

我正在开发一个具有抽象GUI API的大型程序。这是非常基于GUI,许多对话框和一些讨厌的功能,严重依赖于GUI的消息流(正确的焦点/鼠标/主动处理等序列) - 不容易移植

我现在想将它从当前使用的FOX Toolkit移植到本机Cocoa / MFC。

我给自己一个时间表,直到今年年底,但我的主要工作是继续使用现有工具包进行开发工作,但在完成这两项任务之前,最终客户没有计划发布。

我的问题是我该如何度过我的时间?

  1. 停止处理主程序和 做一个90%的端口(约3个月) GUI首先
  2. 将所有东西拆分成更小的 每个会议一个月。
  3. 将星期一/星期二分配给GUI 项目和本周的剩余时间 该应用程序。
  4. 首先完成应用程序, 然后是港口。
  5. 我认为我需要平衡三个论点。

    1. 动机,我希望看到两个项目都有进展
    2. 脑输入溢出,这两项任务都需要大量详细信息 在我的大脑中,有时足够了。
    3. 我猜移植是在移植,所以移植也需要 现有代码中的许多代码更改以及将要执行的新代码 在此期间写下来。

4 个答案:

答案 0 :(得分:1)

我先完成应用程序,然后移植它。 IMO,你同时处理的项目越少,你就越有效。

答案 1 :(得分:0)

这实际上取决于你对此感到满意。

就个人而言,我现在开始移植 - 一次一个子系统/片段。你不必一次性移植整个东西。您可能会发现必须重写应用程序的基础以支持移植。如果您等到完成应用程序以执行端口,则最终可能会重写应用程序的大部分内容。所以我首先移植支持库和核心功能,然后慢慢地工作到最后。

与此同时,每次向非端口引入新类时,请确保它从get get中可移植。

答案 2 :(得分:0)

如果客户没有计划发布,那么您可以完全按照自己的意愿构建工作。

我的第一印象是在当前平台上努力完成应用程序,当你要抛弃代码时,至少会浪费一些时间(你得到一些学习但最终的代码是没有用的)

就个人而言,我会暂停现有版本并重新开始使用Cocoa重写。

首先,我将它分成功能块并将每个视图作为敏捷样式发布。这些应该关注最终用户的任务和功能,包括GUI和后端工作。

(我不喜欢单独使用GUI和app逻辑的想法是因为它们不是分开的。作为重写的一部分,可能有机会进行改进,如果你这样做会更难必须让它们保持兼容。重写是一个进行根本性改变的机会,而这种改变并不常见 - 我会接受它。

逐个完成功能块,在进入下一个状态之前将其置于完全可释放的状态。这将为您提供成就感和衡量进步的能力。这也意味着如果一个实现无处不在,你就拥有了完整的可用块。

此外,通过专注于端到端任务,希望最大限度地减少思维溢出的内容,因为您总是在一个特定区域而不是整个应用程序中工作。

答案 3 :(得分:0)

我开始用MFC,Cocoa和GTK一个月来完成基本的工作。在这一周之后,在系统之间循环以获得GUI抽象层。我还没有触及应用程序本身。

这非常有效。即使MFC,Cocoa和GTK的复杂性使得典型的星期一早上我做切换时更加糟糕。

我现在知道如何更改我的申请。 在继续添加功能之前,我将移植GUI工具包,因为Jon提到我将不得不两次编写部件。