O TOTVS CodeAnalysis é uma ferramenta desenvolvida para permitir aos clientes efetuarem uma verificação em seus fontes customizados, afim de certificar a qualidade dos mesmos. Através de regras pré-determinadas, a ferramenta possibilita que os requisitos indicados sejam corrigidos evitando um maior impacto em atualizações.

Uma das recomendações da ferramenta é para a validação da utilização do ambiente do cliente com Dicionário de Dados no Banco de Dados.

O serviço consiste no cadastro de um projeto no site do CodeAnalysis, envio de um arquivo compactado (em .zip apenas) com os fontes a serem analisados, e agendamento da análise desses fontes. Ao final, é exibida uma tela com o resultado da análise, apontando o que precisa ser corrigido ou melhorado nos fontes.

Abaixo iremos detalhar os passos para efetuar essa validação.



- Acesse o site https://codeanalysis.totvs.com.br e clique em Entrar



- No primeiro acesso, é necessário criar uma nova conta. Clique em Novo cliente



- Preencha os dados conforme exemplo abaixo e clique em Cadastrar:



Obs.: é necessário inserir o Totvs ID utilizado no License Server Virtual do Cliente.

- Será exibida na tela um aviso de que a senha temporária foi enviada por e-mail (se por acaso o e-mail não for recebido, clique em Esqueceu sua senha e insira o e-mail para enviar novamente)



- Acesse o e-mail, copie a senha temporária enviada, e na tela de login do CodeAnalysis, digite o e-mail que foi cadastrado, insira a senha temporária enviada e clique em Entrar



- Insira a senha temporária atual, e então cadastre uma nova senha



- Será exibida uma mensagem de senha alterada com sucesso, e voltará para a tela de login. Digite então novamente o e-mail cadastrado e entre com a nova senha

- Será exibida uma tela para a inclusão de Projetos, que é o local onde iremos agendar o envio dos fontes e análise dos mesmos. Clique em +Projeto



- Na tela seguinte, preencha os dados conforme exemplo abaixo, e clique em Confirmar



Nome do projeto: Defina o nome que será utilizado neste projeto

Descrição do projeto: Descrição deste projeto

Tipo de acesso dos arquivos: define como os fontes serão enviados para análise. Para o nosso exemplo, utilizaremos a opção Upload

Usuários: Selecione os usuários que terão acesso a este projeto. Por padrão o usuário inicial já está criado e pode ser selecionado. Se quiser adicionar outros usuários, utilize o menu lateral Usuários

Obs.:
Formato dos arquivos e pastas: os arquivos e pastas não devem conter espaços e/ou acentos em seus nomes.

ADVPL Include: Se o projeto tiver includes adicionais aos padrões do Protheus, a pasta dele deve ser indicada neste campo. O formato de digitação da pasta é baseado nas pastas que devem conter no arquivo compactado (em .zip) e também na linguagem, que é Case Sensitive. Obrigatoriamente o arquivo compactado deve conter uma pasta chamada src na raiz do zip, que conterá os fontes, e se tiver includes, uma pasta para eles. No nosso exemplo, o arquivo compactado contém a pasta my_include e a pasta src na raiz do zip, conforme imagem abaixo:







- Após preencher as informações, clique em Confirmar

- Será exibida uma mensagem informando que o projeto foi cadastrado com sucesso, e a página mostrará o projeto criado. Se precisar alterar alguma informação, clique em Manutenção. Caso esteja OK, clique em Agendar



- Será exibida uma janela para o carregamento do arquivo compactado. Clique em Selecionar arquivo, selecione o seu arquivo compactado, e clique em Agendar



- Será exibida uma mensagem de Agendamento efetuado, confirmando o envio dos fontes



- Ao enviar o seu Projeto para a análise, ele entrará em uma fila de execução, e assim que verificado, será exibida a informação de Status de Executado. Para verificar, no menu lateral, clique em Agendamentos



- Na tabela dos agendamentos, na coluna Link SonarQube, será exibido o link com as informações da análise feita pela Totvs referentes ao seu projeto. Clique sobre o link para abrir o projeto no SonarQube



- Nesta tela serão exibidas as informações analisadas. Para verificar as regras da Totvs, clique no menu Rules e use o filtro ADVPL


Classificação dos tipos de Bugs apontados pelo CodeAnalysis

Todos os bugs devem ser observados, uma vez que são impeditivos para o bom funcionamento do sistema (todos são problemas).

Classificação dos bugs:

Blocker: é o bug mais crítico
Minor: bug menos crítico.
CodeSmell: é uma recomendação de correção (nada impede que no futuro um CodeSmell torne-se um bug).

Os bugs podem ou não ser por performance, essa informação vem acompanhada na descrição de cada issue.


Para dúvidas e comentários referentes a ferramenta, favor consultar o Dev Fórum:

https://devforum.totvs.com.br