GNU/Linux >> Znalost Linux >  >> Linux

Ohcount – čítač a analyzátor řádků zdrojového kódu

Ohcount je jednoduchý nástroj příkazového řádku, který analyzuje zdrojový kód a vytiskne celkový počet řádků souboru zdrojového kódu. Není to jen počítadlo řádků zdrojového kódu, ale také detekuje populární open source licence, jako je GPL, v rámci velkého adresáře zdrojového kódu. Kromě toho může Ohcount také detekovat kód, který cílí na konkrétní programovací API, jako je KDE nebo Win32. V době psaní této příručky Ohcount v současné době podporuje více než 70 oblíbených programovacích jazyků. Je napsán v C programovací jazyk a je původně vyvinut společností Ohloh pro generování zpráv na www.openhub.net.

V tomto krátkém tutoriálu se podíváme na to, jak nainstalovat a používat Ohcount k analýze souborů zdrojového kódu v Debianu, Ubuntu a jeho variantách, jako je Linux Mint.

Ohcount – Čítač řádků zdrojového kódu

Instalace

Ohcount je k dispozici ve výchozích repozitářích v Debianu a Ubuntu a jeho derivátech, takže jej můžete nainstalovat pomocí správce balíčků APT, jak je uvedeno níže.

$ sudo apt-get install ohcount

Využití

Použití Ohcount je docela jednoduché.

Jediné, co musíte udělat, je přejít do adresáře, kde máte zdrojový kód, který chcete analyzovat, a program ohcount.

Řekněme například, že budu analyzovat zdroj kódu coursera-dl program.

$ cd coursera-dl-master/
$ ohcount

Zde je souhrn počtu řádků programu Coursera-dl:

Jak vidíte, zdrojový kód programu Coursera-dl obsahuje celkem 141 souborů. První sloupec uvádí název programovacích jazyků, ze kterých se zdrojový kód skládá. Druhý sloupec zobrazuje počet souborů v jednotlivých programovacích jazycích. Třetí sloupec zobrazuje celkový počet řádků v každém programovacím jazyce. Čtvrtý a pátý sloupec zobrazuje počet řádků komentářů a jejich procento v kódu. Šestý sloupec zobrazuje počet prázdných řádků. A poslední a sedmý sloupec zobrazuje celkový řádek kódů v každém jazyce a hrubý součet programu coursera-dl.

Můžete také zmínit úplnou cestu k přímo jako níže.

$ ohcount coursera-dl-master/

Cesta může být libovolný počet jednotlivých souborů nebo adresářů. Adresáře budou testovány rekurzivně. Pokud není zadána žádná cesta, použije se aktuální adresář.

Pokud nechcete pokaždé zmiňovat celou cestu k adresáři, stačí do něj CD a pomocí nástroje ohcount analyzovat kódy v tomto adresáři.

Chcete-li počítat řádky kódu na soubor, použijte -i vlajka.

$ ohcount -i

Ukázkový výstup:

Nástroj Ohcount může také zobrazit anotovaný zdrojový kód, když použijete -a vlajka.

$ ohcount -a

Jak vidíte, zobrazí se obsah všech souborů zdrojového kódu nalezených v tomto adresáři. Každý řádek má předponu s názvem jazyka odděleným tabulátory a sémantickou kategorizací (kód, komentář nebo prázdné místo).

Někdy prostě chcete znát licenci použitou ve zdrojovém kódu. Chcete-li to provést, použijte -l vlajka.

$ ohcount -l
lgpl3, coursera_dl.py
gpl coursera_dl.py

Další dostupnou možností je -re , který se používá k tisku nezpracovaných informací o entitě na obrazovku (hlavně pro ladění).

$ ohcount -re

Chcete-li rekurzivně najít všechny soubory zdrojového kódu v daných cestách, použijte -d vlajka.

$ ohcount -d

Výše uvedený příkaz zobrazí všechny soubory zdrojového kódu v aktuálním pracovním adresáři a každý název souboru bude mít předponu s názvem jazyka odděleným tabulátory.

Chcete-li zjistit další podrobnosti a podporované možnosti, spusťte:

$ ohcount --help

Související čtení:

  • Cloc – Počítání řádků zdrojového kódu v mnoha programovacích jazycích

Ohcount je docela užitečný pro vývojáře, kteří chtějí analyzovat kód napsaný jimi nebo jinými vývojáři a zkontrolovat, kolik řádků tento kód obsahuje, které jazyky byly použity k napsání těchto kódů a podrobnosti o licenci kódu atd.


Linux
  1. Jak změnit výchozí délku čáry pro Od a Hexdump?

  2. Trap, Err, A Echoing the Error Line?

  3. Jak mohu spustit kód PHP z příkazového řádku?

  1. Zkopírujte a vložte na příkazový řádek Linuxu pomocí xclip

  2. Kde najdu zdrojový kód příkazu cp?

  3. Jak načtu zdrojový kód příkazů shellu?

  1. Výsledek Ls *, Ls ** a Ls ***?

  2. Manipulace s úchopy kláves a ukazatelů X na příkazovém řádku?

  3. Tisknout odpovídající čáru a N-tou čáru ze shodné čáry?