Pular para conteúdo

Analisando o código-fonte

Ferramentas de lint

As ferramentas de lint de código-fonte realizam uma análise minuciosa do projeto em busca de problemas e erros, tais como sintaxe incorreta, identação inadequada, variáveis não utilizadas ou não definidas, além de erros de estilo e outros que possam comprometer sua qualidade. Por meio desse processo, elas garantem que o código seja legível, coeso e facilmente mantido, bem como livre de erros comuns. O uso dessas ferramentas pode aumentar significativamente a eficiência do desenvolvimento, reduzir o tempo de depuração e, consequentemente, melhorar a qualidade do software.

Para analisar o código-fonte do projeto usando a ferramenta de lint configurada, execute o seguinte comando:

Documentação em progresso

O Pylint ⧉ verifica se há erros no código-fonte, usando como referência o estilo de codificação recomendado pela PEP 8 ⧉.

pylint \
    --exit-zero src/ tests/ -r n \
    --msg-template="{path}:{line}: [{msg_id}({symbol}), {obj}] {msg}"

O ESLint ⧉ em conjunto com o typescript-eslint ⧉ verifica se há erros no código-fonte, usando como referência o estilo de codificação ⧉ recomendado pelo time do Angular ⧉.

ng lint

Documentação em progresso

Você também pode simplificar a análise do código-fonte por meio do script definido no arquivo <project root>/Makefile. Para fazer isso, execute o seguinte comando:

make lint_code # (1)!
  1. Esse comando ativa o script definido no arquivo Makefile ⧉ do projeto, que automatiza a análise do código-fonte usando a ferramenta de lint configurada. Isso permite que os desenvolvedores analisem o código de forma ágil e simplificada, sem a necessidade de digitar manualmente os argumentos e parâmetros necessários.

Documentação em progresso

Imagem docker

O Hadolint ⧉ é uma ferramenta que analisa o Dockerfile ⧉ de forma estática, verificando se as instruções seguem as melhores práticas recomendadas pela comunidade em termos de segurança e eficiência. Entre essas práticas, destacam-se a importância de evitar problemas comuns, como executar o container como root, expor portas desnecessárias e copiar arquivos confidenciais para a imagem. Ao utilizar o Hadolint, os desenvolvedores podem garantir que a imagem Docker ⧉ resultante seja segura, eficiente e fácil de manter.

Para analisar o Dockerfile do projeto, execute o seguinte comando no terminal:

docker run \
    --rm -i \
    -v "${PWD}/.hadolint.yaml:/.config/hadolint.yaml" \
    -e HADOLINT_VERBOSE="true" \
    hadolint/hadolint:latest-alpine < Dockerfile

Documentação em progresso

Além disso, é possível executar a análise do Dockerfile por meio do script definido no arquivo <project root>/Makefile do projeto, digitando o seguinte comando:

make lint_dockerfile # (1)!
  1. Esse comando ativa o script definido no arquivo Makefile ⧉, que automatiza a execução da análise do Dockerfile do projeto. Dessa forma, os desenvolvedores podem realizar a análise de forma ágil e simplificada, sem precisar digitar manualmente todos os argumentos e parâmetros necessários.

Documentação em progresso

Métricas de qualidade

A ferramenta Sonar ⧉ é uma excelente opção para análise de código-fonte de aplicações em qualquer linguagem de programação. Seu objetivo é fornecer informações sobre a qualidade do código e possíveis problemas, tais como vulnerabilidades, duplicações, complexidade, bugs e violações de padrões de codificação. Isso é realizado através de regras pré-definidas e personalizáveis, abrangendo diversos aspectos da qualidade da aplicação, como arquitetura, segurança, desempenho e manutenibilidade. A ferramenta ainda oferece relatórios e métricas para avaliar o progresso e a qualidade do projeto em diferentes etapas do ciclo de vida da aplicação.

Ao usar o Sonar, os desenvolvedores podem identificar rapidamente os problemas de qualidade do código, corrigi-los e reduzir a quantidade de defeitos. Isso, por sua vez, melhora a manutenibilidade e a escalabilidade da aplicação. Além disso, a ferramenta ajuda a garantir a conformidade com padrões de codificação e melhores práticas, o que aumenta a segurança e reduz o risco de vulnerabilidades.

Para utilizar o Sonar na análise do código-fonte do projeto, é necessário executar o seguinte comando:

Os comandos necessários para executar a análise nas plataformas são praticamente os mesmos. A única diferença é a maneira de montar o volume entre o diretório com o código-fonte do projeto e o diretório do scanner, que está contido na imagem Docker.

docker run \
    --rm \
    -v "${PWD}/.sonar_cache:/opt/sonar-scanner/.sonar/cache" \
    -v "${PWD}:/usr/src" \
    -e SONAR_SCANNER_OPTS="-Xmx512m" \
    sonarsource/sonar-scanner-cli \
        -Dsonar.host.url="<sonar url>" \
        -Dsonar.login="<personal token>" \
        -Dsonar.organization="<organization name>" \
        -Dsonar.projectKey="<project key>" \
        -Dsonar.projectName="<project name>" \
        -Dsonar.projectVersion="<project version>" \
        -Dsonar.language=java \
        -Dsonar.sourceEncoding=UTF-8 \
        -Dsonar.sources=src/main \
        -Dsonar.tests=src/test \
        -Dsonar.java.binaries=target/classes \
        -Dsonar.java.libraries="target" \
        -Dsonar.java.test.libraries="target" \
        -Dsonar.exclusions=**/package-info.java,**/*.html,**/*.sql,**/*.yaml,**/*.yml \
        -Dsonar.coverage.jacoco.xmlReportPaths=target/site/jacoco/jacoco.xml \
        -Dsonar.junit.reportPaths=target/surefire-reports,target/failsafe-reports \
        -Dsonar.dynamicAnalysis=reuseReports \
        -Dsonar.qualitygate.wait=true \
        -Dsonar.qualitygate.timeout=300 \
        -Dsonar.verbose=false

Documentação em progresso

Exemplo de análise do código-fonte

Sonar | Exemplo de análise do código-fonte em projeto Java

Documentação em progresso

Documentação em progresso

Documentação em progresso

Lembre-se

As credenciais de acesso, como <sonar url>, <organization name> e <personal token>, devem ser obtidas com o responsável técnico pelo projeto.

Além disso, é possível executar a análise do código-fonte por meio do script definido no arquivo <project root>/Makefile do projeto. Para isso, basta digitar o seguinte comando:

make sonar # (1)!
  1. Esse comando ativa o script definido no arquivo Makefile ⧉, que automatiza a execução da análise do código-fonte do projeto. Dessa forma, os desenvolvedores podem realizar a análise do código de forma ágil e simplificada, sem precisar digitar manualmente todos os argumentos e parâmetros necessários.

Documentação em progresso