Abe*_*bel 6 language-agnostic project-planning code-analysis time-estimation
我正在寻找真实的数字和经验,请不要过于主观地接受这个:
在寻找其他东西时,我碰巧发表了一个有趣的声明,部分内容如下:
[...]全国平均每人每年9,000行代码.[...]
我写了很多代码,但不是全职.当我回顾过去一年的项目时,我做了一个(非常)粗略的计算(只计算代码行,没有评论或白线),我来到大约19.000一年,这使它成为一个项目.如果我可以自动化部分内容,我可以在时间和金钱上扣除利润.
为了估算大型项目的省时,我需要平均值.一年中,人们用C#(或其他选择的语言)编写了多少代码行?而且,看看你自己的情况,你会认为你的手写代码可以(部分)自动化并获得什么收益?
18000平均每天约36行代码.
每天只有36行代码,问题是什么?问题是调试和重写代码.
没有你可以做的自动化编码会加快你的速度 - 事实上,任何你可以自动化的东西都不应该被编码,因为如果你在代码中自动输入某些模式,那么它应该被考虑在内.
你可以节省时间的地方是要更加小心你的编码方式.通过QA更快地获得项目 - 使用更明确,类型安全的语言和代码更清晰地编写代码.
同时尽可能地驱动代码数据并进行全面考虑,尽管它会减少您发布的LOC,但它会让每个人的生活更轻松,项目的运行速度更快.
不要自动化代码输入 - 如果可以的话,你做错了!
另一种思考方式 - 您创建的每一行代码都必须进行调试和维护.当你可以创建完全因素化的代码时,为什么你想要想办法给每个人更多的工作(完全因素代码的输入不能自动化 - 几乎按照定义).
首先,编写的代码行数与实际生产力并没有很好的相关性。至少在我看来,如果你想衡量和/或估计生产力,功能点是更有效的衡量标准。其次,当一个指标在很大范围内变化时,平均值通常意义不大。在这种情况下,几何平均值通常比算术平均值更有意义,但如果(至少)没有方差/标准差,它仍然没有多大意义。
我还要指出的是,有一些相当复杂的模型经过了大量研究,甚至针对真实项目进行了测量,以至少了解它们的结果与现实相关。例如,COCOMO II模型通常会比仅使用每单位时间的代码行产生更好的结果。至少有一个免费的在线实现(编辑:看看它,现在允许基于 LoC 或功能点的建模)。还有一些工具(例如SoftStar和Function Point Modeler)将类似 COCOMO 的模型与功能点相结合,以获得看起来(至少对我来说)相当可靠的结果。