lmake_lines_of_code 2020.607.1321

Lines of code for Rust projects
lmake_lines_of_code-2020.607.1321 is not a library.

lmake_lines_of_code

version: 2020.607.1321 date: 2020-06-07 authors: Luciano Bestia
Lines of code for Rust projects

src code doc comments comments examples tests
233 73 72 0 0

Lines of code for Rust projects

Lines of code are not a "perfect" measurement of anything.
Anybody can write a very big number of lines of useless code and comments.
But for 95% of the cases they are good enough.
Most of the developers use some "standard" coding practices and that is quantifiable and comparable.

The src_code_lines is the most important count.
That is actual code written for that project without doc comments, comments, unit tests, integration tests and examples.
Sometimes is great to see a big number here. It means there was a lot of work invested. But other times we want to see a small number. It means the developer understands the problem very well and don't try to solve anything outside that scope.

The src_doc_comment_lines counts doc comments. They will eventually become docs. The count of lines shows how many documentation is written.

The src_comment_lines counts code comments. Code comments are important to understand the code. The count of lines shows how understandable is the code.

The tests_lines counts lines in tests and shows how good is the code tested. Here are the unit tests and integration test combined.

The examples_lines counts lines in examples and shows how good is explained how to use the code.

Folder and file structure

The folder structure of a single Rust project is simple.
The project starts in the folder that contains cargo.toml.
The /src/ folder contains all the rust *.rs files.
The /tests/ folder contains integration tests.
The /examples/ folder contains examples.
Inside a rs file the doc comment line start with /// or //!.
The normal comments start with // or /!.
I will ignore the block comments. They are usually NOT used for comments, but to temporarily disable a piece of code. So I count this as code and not comments.

The src/*.rs file can contain unit tests that start with #[cfg(test)]. I assume that these are always at the end of the file. There should not be any normal code after #[cfg(test)], only tests.

All other files: md, toml, html, js, ... are not counted.

Workspace

Workspaces have member projects, that are written in cargo.toml. The program counts lines of every project and sums them together.

Install

cargo install lmake_lines_of_code

Development

Documentation:
https://lucianobestia.github.io/lmake_lines_of_code
List of prepared make tasks for development: build, run, doc, publish,...
clear; cargo make

cargo crev reviews and advisory

It is recommended to always use cargo-crev
to verify the trustworthiness of each of your dependencies, including this one.
cargo crev verify
Please, spread this info.
On the web use url to read crate reviews example:
<web.crev.dev/rust-reviews/crate/num-traits/>