😎 Este é o segundo artigo de uma série de múltiplas partes sobre como analisar código com Sprache. Você pode ler a primeira parte aqui.
No post anterior, vimos como analisar algum texto (em particular, código Java) usando Sprache, uma poderosa biblioteca para C#. Vimos como usar uma abordagem incremental e como usar testes unitários para conduzir o desenvolvimento com esta ferramenta. Até agora, escrevemos um analisador para Identifier e PackageName (verifique aqui).
Agora vamos avançar um pouco mais rápido. Lembre-se de que temos como alvo o source Java/Android Google Authenticator e que nosso objetivo final é gerar um gráfico de dependências de classe para este projeto. Neste artigo, vamos tentar analisar todos os elementos de nível superior do arquivo atual em que estamos trabalhando, AuthenticatorActivity.java.
Depois de algum esforço, consegui permitir que meu blog ficasse multilíngual. Agora todos os posts estão em português ou ingles. Leitores detalhistas já terão notado os ícones que permitem selecionar a língua:
😎 Este é o primeiro artigo de uma série de múltiplas partes sobre como analisar código com Sprache. Você pode ler a segunda parte aqui.
Você provavelmente sabe que às vezes (muitas vezes), o trabalho de um desenvolvedor é muito mais pesquisa ou análise do que programação! No passado, houve muitos casos em que eu estava em um projeto em que meu objetivo era migrar ou reescrever software antigo e, durante esses compromissos, acabei criando ferramentas para me ajudar. Muitas dessas ferramentas eram analisadores de código especializados que realizavam automaticamente a análise que eu exigia ou até mesmo geravam códigos mais novos que eu poderia utilizar.
Em todos esses casos, precisei analisar algum código estruturado e há uma maneira simples de fazer isso: usando Sprache, um framework de parsing para dotnet. Neste artigo, vamos ver como fazer isso.
Esta é minha terceira ou quarta tentativa de criar um blog, e espero ter sucesso em mantê-lo atualizado. Pelo menos agora eu finalmente tenho o tempo de que preciso para criar novos posts e continuar. Além disso, eu adoro GitHub Pages. É muito mais legal estar em uma plataforma que eu (meio que) controlo.