gpt4 book ai didi

c++ - 需要代码度量。最佳代码中 h 文件中的 LOC 与 cpp 文件中的 LOC 的比率

转载 作者:行者123 更新时间:2023-11-30 01:47:12 29 4
gpt4 key购买 nike

在给定 h 文件中的 LOC 数量的情况下,我可以估计最佳代码(桌面应用程序)中的 C++ LOC 数量是多少?

背景:我正在进行工作量估算和将 C++ 软件移植到 C# 的计划。

我的第一个想法是创建一个基于 LOC 的粗略估计,并使用移植到剩余 LOC 的 LOC 来跟踪流程。假设移植速度为 200LOCs/天,我得出 1.5 人年。如果我把这个数字给客户,我肯定拿不到契约(Contract)。

仔细查看我发现的代码后,该代码非常低效,使用了很多 C&P 代码,实现了自己的容器类等。所以 C++ 的 LOC-Number 似乎没有反射(reflect)实现相同功能的努力。现在我的假设是,头文件应该更好地反射(reflect)功能。

最佳答案

没有。头文件的大小是关联代码文件大小的一个非常糟糕的代理。 header 仅显示 API 的入口点,它可以隐藏 API 所需的内容。

换句话说,声明单个函数的 header 仅表示该实现文件中有一个公共(public)函数。实现文件中可以只有一个函数,也可以有数百个。它们都不是更好,任何一种开发方法都没有错。这只是意味着您不能使用 header 来估算工作量。

对于 100k SLOC 程序,使用 SLOC 作为衡量标准会有些牵强,因为您将花费更多时间进行测试而不是开发。如果您有权访问应用程序的功能文档,请考虑使用 function points反而。据我所知,它们是周围较少损坏的启发式算法之一。

就开发而言,不要忘记您可以从 C# 调用 C++ 代码,并且 C++/CX 可以集成 C#。如果您可以增量重写或多或少的独立组件,这可以减轻一些移植痛苦。

关于c++ - 需要代码度量。最佳代码中 h 文件中的 LOC 与 cpp 文件中的 LOC 的比率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31905452/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com