0

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

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

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

4

3 回答 3

1

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

于 2011-03-07T20:01:28.817 回答
1

好吧,要使用像 C++ 这样的语言来获得您的初始计数,我只会做最简单的事情:

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

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

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

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

于 2011-03-15T23:18:43.410 回答
1

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

于 2011-06-06T17:08:08.067 回答