#loc #cloc #command-line-tool #scc #line-comment #sloc #tokei

bin+lib cocomo

COCOMO (Constructive Cost Model) 命令行工具和库

19 个版本

新版本 0.8.1 2024 年 8 月 24 日
0.7.4 2024 年 8 月 23 日
0.7.2 2024 年 7 月 19 日
0.7.1 2023 年 6 月 24 日

#1506命令行工具

Download history 79/week @ 2024-07-13 50/week @ 2024-07-20 22/week @ 2024-07-27 119/week @ 2024-08-03 11/week @ 2024-08-10 80/week @ 2024-08-17

每月 235 次下载

MIT 许可证

21KB
300

关于

使用 COCOMO (Constructive Cost Model) 估计的 CLI 和库实现,使用 tokei 作为库来计算总 SLOC 和以 scc 为参考

另请参阅 tokei#359.

用法

$ cocomo -h
COCOMO (Constructive Cost Model) CLI utility and library

<https://crates.io/crates/cocomo> / <https://github.com/qtfkwk/cocomo>

See also: <https://en.wikipedia.org/wiki/COCOMO>

---

Usage: cocomo [OPTIONS] [PATH]...

Arguments:
  [PATH]...  Files / Directories [default: .]

Options:
      --sloc <N>
          Source lines of code [default: *calculate from Files / Directories
          argument(s)*]
      --average-wage <f64>
          Average Wage [default: 56286.0]
      --inflation-multiplier <f64>
          Inflation multiplier [default: 1.0]
      --inflation-year <usize>
          Inflation year (1995-2024) [default: 1995]
      --overhead <f64>
          Overhead [default: 2.4]
      --eaf <f64>
          Effort Adjustment Factor (EAF); typically 0.9 - 1.4 [default: 1.0]
      --project-type <TYPE>
          Project type (organic: "--custom 2.4,1.05,0.38", embedded: "--custom
          3.6,1.20,0.32", semi-detached: "--custom 3.0,1.12,0.35") [default:
          organic] [possible values: embedded, organic, semi-detached]
      --custom <f64,f64,f64>
          Custom parameters (a, b, c) [default: "2.4,1.05,0.38" ("--project-type
          organic")]
      --development-time <f64>
          Development time (d) [default: 2.5]
      --currency-symbol <STRING>
          Currency symbol [default: $]
  -o, --output-format <FORMAT>
          Output format [default: markdown-table] [possible values:
          markdown-table, sloccount]
  -h, --help
          Print help (see more with '--help')
  -V, --version
          Print version
$ cocomo -V
cocomo 0.8.1

示例

使用 tokei CLI 来计算指定目录中的代码行数

$ tokei ~/github.com/XAMPPRocky/tokei
===============================================================================
 Language            Files        Lines         Code     Comments       Blanks
===============================================================================
 BASH                    4           48           30           10            8
 JSON                    1         1923         1923            0            0
 Shell                   1           49           38            1           10
 TOML                    3          125          104            5           16
-------------------------------------------------------------------------------
 HTML                    1           12            9            1            2
 |- JavaScript           1           15           11            4            0
 (Total)                             27           20            5            2
-------------------------------------------------------------------------------
 Markdown                5         1662            0         1339          323
 |- BASH                 1            3            3            0            0
 |- JSON                 1           46           46            0            0
 |- Rust                 1            7            4            3            0
 |- Shell                1           16           14            0            2
 (Total)                           1734           67         1342          325
-------------------------------------------------------------------------------
 Rust                   24         4557         3829          140          588
 |- Markdown            13          386            5          327           54
 (Total)                           4943         3834          467          642
===============================================================================
 Total                  39         8376         5933         1496          947
===============================================================================

使用 cocomo CLI 来计算 COCOMO 估计

$ cocomo ~/github.com/XAMPPRocky/tokei
Description                | Value
---------------------------|---------------------------------
Total Source Lines of Code | 5,933
Estimated Cost to Develop  | $175,218.39
Estimated Schedule Effort  | 7.10 months
Estimated People Required  | 2.19

添加 -o sloccount 以使用 SLOCCount 风格的输出格式

$ cocomo ~/github.com/XAMPPRocky/tokei -o sloccount
Total Physical Source Lines of Code (SLOC)                    = 5,933
Development Effort Estimate, Person-Years (Person-Months)     = 1.30 (15.57)
  (Basic COCOMO model, Person-Months = 2.40*(KSLOC**1.05)*1.00)
Schedule Estimate, Years (Months)                             = 0.59 (7.10)
  (Basic COCOMO model, Months = 2.50*(person-months**0.38))
Estimated Average Number of Developers (Effort/Schedule)      = 2.19
Total Estimated Cost to Develop                               = $175,218
  (average salary = $56,286/year, overhead = 2.40)

传递 --sloc N 来计算给定行数的 COCOMO 估计(不计算任何文件或目录中的 SLOC)

$ cocomo --sloc 5794
Description                | Value
---------------------------|---------------------------------
Total Source Lines of Code | 5,794
Estimated Cost to Develop  | $170,910.62
Estimated Schedule Effort  | 7.03 months
Estimated People Required  | 2.16

注意

  1. 在版本 0.8.0 (2024-08-24) 之前,cocomo 没有考虑通货膨胀,假设用户可以简单地根据所需的国家或其他地区和时间修改默认的平均工资。现在 cocomo 集成了 1995 年(平均工资 56,286 美元的年份)至 2024 年的美国通货膨胀率。默认值保持不变,这意味着 cocomo 提供的成本数字以 1995 美元计算(除非使用进行了定制)。从现在起,如果您想让 cocomo 报告当前年的成本,请通过 --inflation-year 选项提供。请注意,上述范围之外的任何年份都会使 cocomo 回退到通过 --inflation-multiplier 选项提供的通货膨胀倍数,该倍数默认为 1.0 并有效地代表年份 1995

依赖项

~13–26MB
~448K SLoC