Pular para o conteúdo

Contabilizando Linhas e Palavras de um Projeto com Shell Script

Dica publicada em Shell Script / Miscelânea
Fábio Berbert de Paula fabio
Hits: 2.496 Categoria: Shell Script Subcategoria: Miscelânea
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Contabilizando Linhas e Palavras de um Projeto com Shell Script

O Project Stats é uma ferramenta simples e eficiente para contabilizar a quantidade de linhas e palavras em projetos de software. O script é escrito em Bash e pode ser facilmente adaptado e configurado para diferentes tipos de projetos e linguagens de programação.

Utilidade do Project Stats

Em projetos de software, é comum que desenvolvedores e gestores desejem medir a quantidade de código-fonte produzido, seja para fins de análise de produtividade, estimativa de tamanho de projeto ou simplesmente para fins de curiosidade. Neste contexto, o script Project Stats se apresenta como uma solução simples e eficiente para este tipo de análise.

Como funciona o Project Stats

O script busca por arquivos com extensões específicas, definidas pelo usuário, e realiza a contagem de linhas e palavras, desconsiderando diretórios que devem ser ignorados, também definidos pelo usuário. É possível configurar o diretório raiz do projeto, as extensões de arquivos a serem buscadas e os diretórios a serem ignorados, de acordo com as necessidades do usuário.

Configurando e executando o Project Stats

Para utilizar o Project Stats, basta clonar o repositório do GitHub:

git clone git@github.com:fberbert/project-report.git

Entrar no diretório do projeto:

cd project-report

Tornar o script executável:

chmod +x project-report.sh

Configurar o script de acordo com as necessidades do usuário, alterando os valores das variáveis:

project_root="/path/to/your/project"
extensions=("*.js" "*.jsx" "*.html" "*.css")
ignore_dirs=("node_modules")
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

No caso acima o script está configurado para buscar arquivos com as extensões .js, .jsx, .html e .css, ignorando o diretório node_modules. Essa configuração representa um projeto em ReactJS.

Se quiser utilizar o script para um projeto em NodeJS, por exemplo, basta alterar as extensões de arquivos para .js e .jsx e ignorar o diretório node_modules.

Para um projeto em Python, por exemplo, basta alterar as extensões de arquivos para .py e ignorar o diretório venv.

Em seguida basta executar o script:

./project-report.sh

A saída será algo como:

Lines: 13734 Words: 46219

Referência

O projeto está disponível no GitHub: https://github.com/fberbert/project-report

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Emulador WineX 3.1 para Debian

Docker - remover imagens não utilizadas (limpeza)

Problema de NO_PUBKEY em repositórios Debian, Ubuntu ou Mint [Resolvido]

Cinnamon - Como desabilitar o (chato) teclado virtual

Alterando nome de placa de rede FÁCIL usando arquivos de LINK

Solução IM para seu Cyber Cafe

Formas de Obter as Dimensões do Emulador Terminal

Renomeando em massa sem precisar instalar comandos adicionais

Instale pacotes pelo apt através de uma lista

Funções ZZ é uma coletânea com 111 miniaplicativos

#1 Comentário enviado por maurixnovatrento em 14/05/2023 - 22:34h

Opa. Gostei. Vou testar.

___________________________________________________________
Conhecimento não se Leva para o Túmulo.
https://github.com/mxnt10

Contribuir com comentário

Entre na sua conta para comentar.