【发布时间】:2010-01-04 11:10:10
【问题描述】:
假设您有一个 .net 或 java(Web 应用程序)中的应用程序。
您将应用程序移植到其他平台花了多长时间? (我假设它们的总体设计是相同的,只是一个直接的端口,即没有从根本上改变总体设计模式)。
我感兴趣的:
我花了 4 个月的时间在 .net 中编写代码,移植用了 2 个月。
我所追求的是,认为需要更长或更短的时间是否现实?
【问题讨论】:
假设您有一个 .net 或 java(Web 应用程序)中的应用程序。
您将应用程序移植到其他平台花了多长时间? (我假设它们的总体设计是相同的,只是一个直接的端口,即没有从根本上改变总体设计模式)。
我感兴趣的:
我花了 4 个月的时间在 .net 中编写代码,移植用了 2 个月。
我所追求的是,认为需要更长或更短的时间是否现实?
【问题讨论】:
如果您编写一次代码,我总是猜测第二次编写代码会更短或花费大约相同的时间,只要您对两种语言都同样熟悉即可。我假设您在第一次编写代码时已经学习了所有必要的课程,而第二次您并没有学习一门新语言。
【讨论】:
通常,开发应用程序中最长的部分是完全正确地满足要求,其次是构建高效且可维护的解决方案(通常无论如何都不能正确完成 ;-))
有时,一种语言提供的库可以节省大量工作,否则这些工作需要在您自己的代码中完成,例如 Linq(如果使用 C++,则为 Boost 库)
作为从非常相似的语言移植的一般经验法则,我会假设更短的时间,沿着完全重构的路线。如果使用非常不同的语言(比如 Ruby 或 F#),可能不会短很多。
【讨论】:
要添加到等式(或尽可能避免)的一件事是,大多数端口往往还包括除已移植功能之外的新功能。避免诱惑几乎是不可能的,所以请记住这一点。
【讨论】: