cloc — zliczanie linii kodu w wielu językach programowania
Podczas pracy nad różnymi projektami czasami możesz zostać poproszony o przedstawienie raportu lub statystyk dotyczących swoich postępów, lub po prostu obliczenie wartości swojego kodu.
Istnieje proste, ale potężne narzędzie o nazwie „cloc – zliczanie linii kodu”, które pozwala policzyć całą liczbę kodu i jednocześnie wykluczyć komentarze i puste linie.
Jest dostępny we wszystkich głównych dystrybucjach Linuksa i obsługuje wiele języków programowania oraz rozszerzeń plików i nie ma żadnych szczególnych wymagań do użycia.
W tym samouczku dowiesz się, jak zainstalować i używać cloc w systemie Linux.
Jak zainstalować i używać Cloc w systemach Linux
Instalacja cloc jest łatwa i prosta. Poniżej możesz zobaczyć, jak zainstalować cloc w różnych systemach operacyjnych za pomocą powiązanych menedżerów pakietów:
sudo apt install cloc # Debian, Ubuntu
sudo yum install cloc # Red Hat, Fedora
sudo dnf install cloc # Fedora 22 or later
sudo pacman -S cloc # Arch
sudo emerge -av dev-util/cloc # Gentoo https://packages.gentoo.org/packages/dev-util/cloc
sudo apk add cloc # Alpine Linux
sudo pkg install cloc # FreeBSD
sudo port install cloc # Mac OS X with MacPorts
brew install cloc # Mac OS X with Homebrew
npm install -g cloc # https://www.npmjs.com/package/cloc
Cloc może być używany do zliczania linii w konkretnym pliku lub w wielu plikach w katalogu. Aby użyć cloc, po prostu wpisz cloc, a następnie plik lub katalog, który chcesz sprawdzić.
Oto przykład z pliku w bashu. Plik, o którym mowa, zawiera następujący kod w bashu:
cat bash_script.sh
Teraz uruchommy na nim cloc.
cloc bash_script.sh
Jak widać liczył on liczbę plików, pustych linii, komentarzy i linii kodu.
Kolejną fajną funkcją cloc jest to, że można jej używać nawet w przypadku skompresowanych plików. Na przykład pobrałem najnowsze archiwum WordPressa i uruchomiłem na nim cloc.
cloc latest.tar.gz
Oto wynik:
Widać, że rozpoznaje różne typy kodu i oddziela statystyki dla poszczególnych języków.
Jeśli chcesz uzyskać raport dla wielu plików w katalogu, możesz użyć opcji „--by-file ”
, która policzy linie w każdym pliku i wygeneruje dla nich raport. Może to zająć trochę czasu w przypadku projektów zawierających wiele plików i tysiące linii kodu.
Składnia jest następująca:
cloc --by-file <directory>
Chociaż pomoc cloc jest czytelna i zrozumiała, dołączę kilka dodatkowych opcji, których można używać z cloc, które mogą okazać się przydatne dla niektórych użytkowników.
--diff
– oblicza różnice w kodzie pomiędzy plikami źródłowymi set1 i set2. Dane wejściowe mogą być kombinacją plików i katalogów.--git
– wymusza rozpoznanie danych wejściowych jako obiektów docelowych git, jeśli nie zostaną one najpierw zidentyfikowane jako nazwy plików lub katalogów.--ignore-whitespace
– ignoruje poziome białe znaki podczas porównywania plików za pomocą--diff
.--max-file-size=
– jeśli chcesz pominąć pliki większe niż podana ilość MB.--exclude-dir=
– wyklucza podane katalogi oddzielone przecinkami., --exclude-ext=
– wyklucza podane rozszerzenia plików., --csv
– eksport wyników do pliku w formacie CSV.--csv-delimiter=
– użyj znaku
jako ogranicznika.--out=
– zapisz wyniki do<file>
.--quiet
– pomiń wszystkie komunikaty informacyjne i pokaż tylko raport końcowy.--sql=
– zapisz wyniki jako instrukcje create i wstaw, które mogą być odczytane przez program bazodanowy, taki jak SQLite.
Wniosek
Cloc to trochę przydatne narzędzie, które zdecydowanie warto mieć w swoim arsenale. Chociaż może nie być używany na co dzień, może Ci pomóc, gdy musisz wygenerować jakiś raport lub jeśli jesteś po prostu ciekawy, jak przebiega Twój projekt.