【问题标题】:LoC (lines of code) metrics for Delphi?Delphi 的 LoC(代码行)指标?
【发布时间】:2009-09-14 11:45:14
【问题描述】:

如何为我的 Delphi (pascal) 项目生成 LoC(代码行)指标?有没有内置的方法可以做到这一点?

【问题讨论】:

  • Delphi 包含一个内置工具来生成这些东西,我编辑了这个问题,所以它不是要求推荐,而是一种完成任务的方法,这是主题。这个问题很有价值,不应该被关闭(搁置),尤其是在被问到 4 年后。 StackOverflow 继续朝着过度模式的方向前进。不错。
  • nloc.sourceforge.net - 适用于 Pascal(和类似的)和 C++

标签: delphi


【解决方案1】:

我不使用它们。 LOC 指标有一个问题:它们鼓励编写代码like this

【讨论】:

  • 梅森,谢谢你的链接!软件专业人士击败愚蠢系统的好方法。
  • @azheglov 仅当您按行数付费时.. 以及谁这样做。
  • 您想了解 SLOC 的原因有多种。你只是列举一个。所以,你的答案是从有限的角度来看的。无论如何,您都不想在一家按代码行付款的公司工作。
【解决方案2】:

来自 Pro 和 Up 的最新版本的 Delphi 包括一些基本指标,包括 LOC 指标和其他类似的无用指标,作为内置功能。 Enterprise 和 Architect 包含一组更大的指标和审计。

值得注意的是,结果显示在一个难以理解的网格中,没有帮助也没有提示。

实际上,帮助中也没有什么可以帮助您的。但是,在您运行指标之前,有一些关于各种神秘事物含义的描述,这里是免费内置的列表:

CIW - Class Interface Width

LOC - Lines of Code

NAM - Number of Accessor Methods

NOA - Number of Attributes

NOC - Number of Classes

NOIS - Number of Import Statements

NOM - Number of Members

NOP - Number of Parameters

NOPA - Number of Public Attributes

PIS - Package Interface Size

PS - Package Size

【讨论】:

    【解决方案3】:

    您可以使用 Pascal Analyzer 以及许多其他指标和提示 (lint) 样式信息生成代码行指标。

    Delphi 本身在 Pro 和更高版本的 sku 中也有一个内置的指标功能,包括 LoC。

    【讨论】:

    • 感谢大家,这似乎是一个很好的度量工具。必须检查一下。附言。是的,单独测量 LoC 是一个无用的指标。虽然只是想知道它有多大(!),但你知道虚荣心:)
    • Pascal Analyzer 是一个商业工具。它可以分析单个文件或项目,但不能分析目录内容。 [迁移了对此评论的 3 岁回答]
    【解决方案4】:

    SourceMonitor 计算一系列指标,其中包括 LOC。除了 C++、C、C#、VB.NET、Java、VB6 之外,它也适用于 Delphi。

    【讨论】:

      【解决方案5】:

      不要使用它,因为它是一个旧的、无用的指标。​​

      【讨论】:

      • 这并不是开发人员生产力的衡量标准,但它可以作为一种方法来确定哪些单元可能太大并且可能需要进行一些分解。大不好,不好。
      • 这不是一个无用的指标,因为我们缺乏更好的选择。但是,它不应该被错误地使用,因为它可能会被欺骗。
      【解决方案6】:

      Build-All,然后记下大概的行数。

      不幸的是,这个指标除了可能给非程序员留下深刻印象之外并不是很有用,因为抛出的大量统计数据会使部门看起来令人印象深刻。现实情况是,一万行程序的复杂度可能是千万行程序的五倍。制造产品的不是代码行,而是将代码组合在一起的工程。

      【讨论】:

        【解决方案7】:
        【解决方案8】:

        CodeHealer 为您提供许多不同的指标,包括代码行数。

        【讨论】:

        • 可悲的是,code-healer 的作者没有兴趣更新它以正确支持 XE5 和 XE6,所以让我们称之为死吧,Jim。
        • 那太可惜了。 CodeHealer 指出了一些非常隐秘的代码问题。
        • 他们宣布支持 Delphi 10、柏林和东京。所以@WarrenP 和 Bruce,显然他们正在更新它。
        • 虽然他们可以解决他们的愚蠢问题“每次发布新的 delphi 版本时,我们都会故意打破,直到您再次从我们这里购买它,但是,嘿,我们不想发布一个更新,很抱歉,你被圈套了”哲学?与 CodeHealder 不同,Pascal Analyzer 在新的 Delphi 版本发布时默认保持工作。
        • @WarrenP 有些商业模式注定会自爆。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-16
        • 2021-01-11
        • 1970-01-01
        • 1970-01-01
        • 2012-02-25
        • 1970-01-01
        相关资源
        最近更新 更多