2020.613.1337 |
|
---|---|
2020.607.1321 |
|
1.1.8 |
|
1.1.7 |
|
1.1.6 |
|
30 在 #make 中
24KB
250 行
lmake_lines_of_code
版本:2020.613.1337 日期:2020-06-13 作者:Luciano Bestia
Rust项目的代码行数
源代码 | 文档注释 | 注释 | 示例 | 测试 |
---|---|---|---|---|
行数 | 行数 | 行数 | 行数 | 行数 |
233 | 88 | 50 | 0 | 0 |
Rust项目的代码行数
代码行数并不是衡量任何事物的“完美”指标。
任何人都可以写大量的无用代码和注释。
但在95%的情况下,它们已经足够好了。
大多数开发者都使用一些“标准”的编码实践,这是可以量化和比较的。
src_code_lines
是最重要的计数。
这是为该项目实际编写的代码行数,不包括文档注释、注释、单元测试、集成测试和示例。
有时候看到这里的大数字是很好的。这意味着投入了大量的工作。但有时我们希望看到一个小数字。这意味着开发者非常了解问题,并且不会尝试解决超出这个范围的问题。
src_doc_comment_lines
计算文档注释。它们最终将成为文档。行数显示了多少文档被编写。
src_comment_lines
计算代码注释。代码注释对于理解代码非常重要。行数显示代码的可理解性。
tests_lines
计算测试中的行数,显示了代码测试的好坏。这里包括单元测试和集成测试。
examples_lines
计算示例中的行数,显示了如何使用代码的说明有多好。
文件夹和文件结构
单个Rust项目的文件夹结构很简单。
项目从包含 cargo.toml 的文件夹开始。
/src/ 文件夹包含所有 rust *.rs 文件。
/tests/ 文件夹包含集成测试。
/examples/ 文件夹包含示例。
在 rs 文件中,文档注释行以 /// 或 //! 开头。
常规注释以 // 或 /! 开头。
我将忽略块注释。它们通常不用于注释,而是用于临时禁用一段代码。因此,我将它们计为代码而不是注释。
src/*.rs文件可以包含以#[cfg(test)]开始的单元测试。我假设这些测试总是放在文件末尾。在#[cfg(test)]之后不应该有任何普通代码,只有测试。
所有其他文件:md、toml、html、js等不计入。
工作空间
工作空间包含成员项目,这些项目在cargo.toml中定义。
程序计算每个项目的行数并将它们相加。
输出
输出是表格的Markdown文本和徽章的Markdown文本。
只需将其复制/粘贴到README.md中。
安装和运行
cargo安装lmake_lines_of_code
在包含cargo.toml的Rust项目文件夹中
lmake_lines_of_code
开发
文档
https://lucianobestia.github.io/lmake_lines_of_code
为开发准备的make任务列表:构建、运行、文档、发布等...
清除;cargo make
CREV - Rust代码审查 - 提高意识
请,传播这个信息。
开源代码需要一个社区的努力来表达可靠性。
从阅读你使用的crates的审查开始。例如:web.crev.dev/rust-reviews/crate/num-traits/
然后安装CLI cargo-crev。阅读入门指南。在你的Rust项目中,使用cargo crev verify
验证所有依赖项的可靠性,包括临时依赖项。
为你信任的crates编写新的审查。或者为你认为有风险的crate版本。
帮助其他开发者,通知他们并分享你的观点。
使用此网页帮助你:web.crev.dev/rust-reviews/review_new
依赖项
~3.5–5.5MB
~87K SLoC