3

需要多少行代码 (LOC) 才能被视为一个大型项目?只写一个人怎么样?

我知道这个指标是有问题的,但是对于单个开发人员来说,1k 和 10k LOC 之间存在显着差异。我通常使用空间来提高可读性,尤其是对于 SQL 语句,并且为了维护目的,我尝试减少 LOC 的数量,以尽可能多地遵循最佳实践。

比如我今天修改的代码创建了一个统一的diff,超过1k LOC(包括注释和空行)。“修改后的 LOC”是一个更好的指标吗?我有~2k LOC,所以我修改了 1k 令人惊讶。我猜重写既是删除又是添加,这会使统计数据加倍。

4

4 回答 4

3

一个稍微没用的指标 - 编译时间。
如果您的项目需要超过...比如说,编译 30 分钟,那么它就很大了 :)

于 2009-06-03T08:15:26.477 回答
3

使用Steve Yegge作为规模上限的基准,假设500k 行代码是(超过?)单个开发人员可以维持的最大值。

不过更严重的是;我认为一旦你达到 100k LOC,你可能会想要在扩展代码之前开始寻找重构。

但是请注意,绕过此限制的一种方法显然是更多地划分代码。如果所有代码的总和由两个或三个大型库和一个应用程序组成,那么结合起来可能会比您作为单个代码库维护的要多,但只要每个库都很好地自包含,您就是不会超出理解解决方案每个部分的能力。

于 2009-06-03T08:16:03.153 回答
2

也许对此的另一个衡量标准是COCOMO衡量标准——尽管它可能与 LOC 一样无用。

单个开发人员只能做有机项目——具有“良好”经验的“小”团队,可以处理“不那么严格”的需求。

在这种情况下,以人工月计算的工作量计算为

2.4 * (kLOC)^1.05

也就是说,1kLOC 需要 2.52 人月。您可以根据产品、硬件、人员和项目属性使用多个因素来优化它。

但是我们现在所做的只是将 LOC 投影到时间测量中。在这里,您必须再次决定是否将 2 个月或 20 个月的项目视为大型项目。

但正如你所说,LOC 可能不是正确的测量方法。关键词:软件度量,功能点,基于证据的调度,计划游戏。

于 2009-06-03T08:28:30.337 回答
1

在我看来,这还取决于您的代码设计——我从事过 1-10K loc 范围内的项目,设计非常糟糕,感觉就像一个非常大的项目。

但是 LOC 真的是一个有趣的代码度量吗?;-)

于 2009-06-03T08:22:11.283 回答