172- [gocloc](https://github.com/hhatto/gocloc) a sloc counter in Go inspired by tokei
173- [loc](https://github.com/cgag/loc) rust implementation similar to tokei but often faster
174▶- [loccount](https://gitlab.com/esr/loccount) Go implementation written and maintained by ESR
175- [polyglot](https://github.com/vmchale/polyglot) ATS sloc counter
176- [tokei](https://github.com/XAMPPRocky/tokei) fast, accurate and written in rust
· · ·
177- [sloc](https://github.com/flosse/sloc) coffeescript code counter
178▶- [stto](https://github.com/mainak55512/stto) new Go code counter with a focus on performance
179
180Interesting reading about other code counting projects tokei, loc, polyglot and loccount
· · ·
440Because some languages don't have loops and instead use recursion they can have a lower complexity count. Does this mean they are less complex? Probably not, but the tool cannot see this because it does not build an AST of the code as it only scans through it.
441
442▶Generally though the complexity there is to help estimate between projects written in the same language, or for finding the most complex file in a project `scc --by-file -s complexity` which can be useful when you are estimating on how hard something is to maintain, or when looking for those files that should probably be refactored.
443
444As for how it works.
· · ·
460there to assist with the estimation of complexity within the project. Quoting the source
461
462▶> In my opinion, the number this produces should be a better estimate of the complexity of a project. Compared to SLOC, not only are blank lines discounted, but so are close-brace lines and other repetitive code such as common includes. On the other hand, ULOC counts comments, which require just as much maintenance as the code around them does, while avoiding inflating the result with license headers which appear in every file, for example.
463
464You can obtain the ULOC by supplying the `-u` or `--uloc` argument to `scc`.
· · ·
1075### CI/CD Support
1076
1077▶Some CI/CD systems which will remain nameless do not work very well with the box-lines used by `scc`. To support those systems better there is an option `--ci` which will change the default output to ASCII only.
1078
1079```text
+ 11 more matches in this file