Contabilizando Linhas e Palavras de um Projeto com Shell Script

Publicado por Fábio Berbert de Paula em 25/04/2023

[ Hits: 1.646 ]

Blog: https://fabio.automatizando.dev

 


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")

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

Outras dicas deste autor

NAT (Network Address Translation)

Como forçar o APT a ignorar determinada dependência

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

G-Desktop-Suite - Google Drive para Desktop Linux

Python - atualizando todos os módulos com pipdate

Leitura recomendada

Backup em fita DLT: Selecionando diretórios através de arquivos de parâmetros

Automoatizar backup no pfSense

Canivete suíço em bash

Configurando temas no Bashtop

Atualizando script id-velox.pl para autenticar no provedor AOL

  

Comentários
[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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts