Contagem e Análise de Linhas de Código em Projetos de Software

A métrica de linhas de código (LOC) é frequentemente utilizada para avaliar o tamanho e a complexidade de uma base de código. Existem diversas abordagens e ferramentas disponíveis para realizar essa contagem de forma automatizada em diferentes sistemas operacionais e ambientes de desenvolvimento.

Utilizando o cloc no Terminal

O cloc (Count Lines of Code) é um utilitário de linha de comando escrito em Perl, amplamente utilizado para contabilizar linhas em branco, comentários e código físico em múltiplas linguagens de programação.

Pré-requisitos e Instalação

Como a ferramenta é baseada em Perl, é necessário ter o interpretador instalado no sistema. A verificação pode ser feita através do comando:

perl -v

A instalação do cloc varia de acordo com o gerenciador de pacotes do sistema operacional:

# Debian / Ubuntu
sudo apt-get install cloc

# macOS (via Homebrew)
brew install cloc

# Node.js (via NPM)
npm install -g cloc

# Arch Linux
sudo pacman -S cloc

# Alpine Linux
sudo apk add cloc

Em ambientes restritos sem acesso à internet, é possível baixar o script principal diretamente do repositório oficial no GitHub. Basta salvar o arquivo, conceder permissão de execução (chmod +x cloc) e criar um link simbólico para um diretório presente no $PATH.

Execução e Análise

A execução requer a especificação do diretório alvo. O ponto (.) é utilizado para analisar o diretório atual.

# Analisando o diretório atual
cloc .

# Analisando um diretório específico e excluindo pastas de teste
cloc ./src --exclude-dir=tests,build

O resultado gera uma tabela estruturada que separa a quantidade de arquivos, linhas em branco, comentários e código efetivo, agrupando os dados por linguagem detectada.

Ferramentas Gráficas para Windows

Para usuários que preferem interfaces gráficas no ambiente Windows, utilitários visuais como o SourceCounter oferecem uma alternativa ao terminal.

  1. Adicione o diretório do projeto através do seletor de pastas na interface principal.
  2. Configure as extensões de arquivo a serem analisadas. É necessário adicionar manualmente extensões específicas (como .jsx, .ts ou .vue) caso não estejam listadas por padrão.
  3. Inicie o processo de análise através do menu superior ou atalhos de teclado.
  4. A interface exibirá um relatório consolidado com a sumarização de código, comentários e linhas vazias, permitindo filtrar os resultados por data de modificação dos arquivos.

Extensões para Editores de Código

Ambientes de desenvolvimento integrado e editores modernos possuem ecossistemas de extensões que facilitam a extração de métricas sem a necessidade de sair da ferramenta. No Visual Studio Code, a extensão VSCode Counter é uma opção robusta.

Configuração e Uso

Após instalar a extensão através do marketplace do VS Code, o processo de contagem é realizado via Paleta de Comandos:

  1. Abra a Paleta de Comandos utilizando Ctrl+Shift+P (ou Cmd+Shift+P no macOS).
  2. Digite e selecione o comando VSCodeCounter: Count lines in directory.
  3. Confirme o diretório raiz do workspace no prompt de entrada.

A extensão processará os arquivos e gerará uma nova aba contendo tabelas detalhadas e gráficos de distribuição de linhas por arquivo, linguagem e tipo de conteúdo (código, comentário ou linha em branco).

Abordagens Nativas com Comanods Unix

Em sistemas baseados em Unix, é possível combinar utilitários nativos para realizar contagens rápidas sem a necessidade de instalar softwares de terceiros. A combinação de find com wc permite filtragens precisas.

# Contando linhas de arquivos Python, excluindo diretórios ocultos e virtual environments
find ./src -type f \( -name "*.py" -o -name "*.pyi" \) -not -path "*/\.*" -not -path "*/venv/*" -exec cat {} + | wc -l

# Utilizando ripgrep (rg) para uma contagem mais performática em repositórios grandes
rg --files --type py | xargs wc -l | tail -n 1

Tags: cloc vscode linux-cli code-metrics shell-scripting

Publicado em 6-5 00:10 por Thomas