Se alguma pergunta ou resposta lhe foi útil, não deixe de dar seu voto positivo!

Verificar se varíavel privada/pública existe sem usar Type()

Atualmente para verificarmos se uma variável compartilhada existe (privada ou pública) (como por exemplo no fonte do DanfeII faz isso muitas vezes internamente) precisamos utilizar a função Type (https://tdn.totvs.com/pages/viewpage.action?pageId=27677582) e é de conhecimento que a performance dessa função é muito baixa (https://tdn.totvs.com/display/framework/Desempenho+Type+x+ValType), além disso ela é criticada no CodeAnalysis (https://codeanalysis.totvs.com.br/sonarqube/organizations/default-organization/rules?open=advpl-rpo%3AAttentionLoopFunction&rule_key=advpl-rpo%3AAttentionLoopFunction) justamente pela performance. Ocorre que em muitas situações de programação é necessário fazer uma verificação se uma variável existe para podermos utilizá-la sem que ocorra um ErroLog, temos que utilizar a função Type() e desta forma ficam as críticas no analisador de código e sabemos que não é performático. Inclusive muitos fontes da Totvs como o Danfeii.prw utilizam muito esta função e fizeram um contorno para as críticas não aparecerem, porém continuando a usar por baixo a função Type() que foi justamente a crítica. Existe alguma outra função padrão que possamos apenas verificar se uma variável existe? de forma mais performática que Type() e que não gere críticas no codeanalysis?

compartilhar
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do TOTVS DevForum!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags type codeanalysis variavel ou faça a sua própria pergunta.