PhpCoodesearchEology
O PHPCoSearchEology analisa seu projeto PHP, fornecendo métricas detalhadas em arquivos, classes, métodos e funções. O relatório abrangente do HTML o equipa com informações profundas necessárias para avaliar seu projeto.
Por que phpcodesearchEology?
O PHPCoSearchEology foi criado para ajudar os desenvolvedores a obter uma compreensão mais profunda de sua base de código PHP, fornecendo métricas e insights detalhados. Esteja você mantendo um sistema herdado ou trabalhando em um novo projeto, essa ferramenta visa facilitar uma melhor qualidade e manutenção de código.
Pré -requisitos
Verifique se seu ambiente atende aos seguintes requisitos:
- PHP versão 8.2 ou superior
- Compositor instalado
Instalação
Instale o PHPCodearchEology usando o Composer executando o seguinte comando em seu terminal:
composer require --dev php-code-archeology/php-code-archeology
Início rápido
Para iniciar o phpCoodesearchEology, execute o seguinte comando em sua raiz do projeto:
./vendor/bin/phpcodearcheology
Fora da caixa, o PhpCoSearchEology digitaliza seu DIR SRC e cria o relatório no TMP/Relatório .
Para personalizar a digitalização, como incluir ou excluir pastas, definir extensões de arquivo PHP personalizadas ou outras configurações, criar um arquivo de configuração php-codearch-config.yaml no seu projeto ROOT. Consulte este arquivo de configuração de amostra para obter orientação.
O relatório
Um relatório típico gerado pela PhpCoodesearchEology inclui métricas como:
- Arquivos : Número total de arquivos no projeto.
- Erros de arquivo : contagem de erros encontrados nos arquivos.
- Contagem de funções : número total de funções.
- Contagem de classe : número total de classes.
- Classes abstratas : contagem de classes abstratas.
- Contagem de interface : número total de interfaces.
- Contagem de métodos : número total de métodos, incluindo métodos públicos, privados e estáticos.
- Métodos públicos : contagem de métodos públicos.
- Métodos privados : contagem de métodos privados.
- Métodos estáticos : contagem de métodos estáticos.
- Declarações de saída : contagem de chamadas de eco e printf.
- Linhas de código (LOC) : Total de linhas de código, incluindo comentários e linhas vazias.
- Linhas de código lógicas (LLOC) : Total de linhas de código excluindo comentários e linhas vazias.
- Comentário Linhas de código (CLOC) : linhas de código que contêm comentários.
- Linhas de código HTML : linhas de código que contêm HTML.
- Complexidade ciclomática (CC) : uma medida da complexidade do código.
- Índice de Manutenção (MI) : Um índice que indica a manutenção do código.
- LCOM : Falta de coesão dos métodos nas classes.
- Instabilidade : medida da estabilidade de uma classe com base em suas dependências.
- Acoplamento eferente (CE) : Número de classes das quais uma classe depende.
- Acoplamento aferente (CA) : Número de classes que dependem de uma classe.
- Dificuldade : Medida de quão difícil o código é para entender.
- Esforço : estimar o esforço necessário para entender o código.
- Vocabulário : Número de operadores e operando exclusivos no código.
- Comprimento : Número total de operadores e operandos no código.
- Volume : o tamanho do vocabulário e comprimento do código.
- Comentário Peso : O peso dos comentários no código.
- Distância da linha principal : medida de quão abstrato e estável é uma classe.
Aqui está uma captura de tela de amostra do relatório HTML:

Documentação
Atualmente, estou trabalhando na documentação. Como eu uso principalmente a ferramenta para meus próprios projetos e estou focado em seu desenvolvimento contínuo, pode levar algum tempo para concluir uma documentação abrangente.
Autor
Marcus Kober, @mrcskbr, github