【问题标题】:How to estimate project size in SLOC when rewriting an aplication from one language to another? [closed]从一种语言到另一种语言编写应用程序时,如何估计 SLOC 中的项目大小? [关闭]
【发布时间】:2011-03-07 19:41:23
【问题描述】:

我记得在过去我发现了一些统计数据,这些统计数据表明基于 SLOC 和编程语言的程序的预期大小。

我想做一个粗略的估计,以便在 Python 中重新实现一个假设是 100k SLOC C++ 项目。

有人知道我在哪里可以找到这些号码吗?

【问题讨论】:

    标签: programming-languages estimation software-estimation


    【解决方案1】:

    您可能想试试sloccount 程序。它能够估计各种语言的 SLOC,甚至可以在多种操作系统上运行

    【讨论】:

      【解决方案2】:

      好吧,要获得 C++ 等语言的初始计数,我会尽可能做最简单的事情:

      grep -c ";" *.h *.cpp
      

      还有更性感的方法,你可以争辩说它低估了一些东西,高估了一些东西,但 SLOC 无论如何都是一个愚蠢的指标,所以花更多的时间而不是必要的时间真的是浪费。

      现在要转换为 Python 吗?好吧,如果我们谈论的是机械端口,那么我会说使用 C++ 编号。如果您说的是完全重新编码,那么我会乘以表现力因子。维基百科为此提供了一个很好的expressiveness chart。同样,这些数字是值得商榷的,但争论是不值得的。如果我们将 C++ 的 2.5 除以 Python 的 6,我们得到 0.416(6 重复)。因此,将该数字乘以您从 grep 获得的总数,就得到了您的数字。

      现在,让我花一点时间说,除了切换语言之外别无其他原因,用另一种语言重新实现工作软件是一个非常愚蠢的想法。 充其量,如果没有任何问题,您将基本上只拥有您开始使用的程序。更有可能的是,为了回到以前的状态,您需要进行大量的调试工作。

      【讨论】:

        【解决方案3】:

        首先要估算一下原始C++源代码的开发时间,我建议使用ProjectCodeMeter之类的工具并扫描源代码(它会告诉你代码的行数)代码并告诉你一个普通程序员从头开始需要多少小时),然后你可以将它除以某个因素,以说明它更容易重新编码而不是从头开始编码(我猜大概是 1/4时间,但这只是一个猜测)。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-02-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-06-26
          • 1970-01-01
          • 2020-11-19
          相关资源
          最近更新 更多