Ajudando o seu eu do futuro - Live Templates
0
0

Ajudando o seu eu do futuro - Live Templates

Fala, pessoal, beleza? Recentemente estava questionando como poderia reduzir o meu trabalho do futuro. Isso mesmo, se você me conhece, sabe que eu sempre tento reduzir a quantidade de trabalho futuro, fazendo ele hoje.

Caique
3 min
0
0

Ajudando o seu eu do futuro

Fala, pessoal, beleza? Recentemente estava questionando como poderia reduzir o meu trabalho do futuro. Isso mesmo, se você me conhece, sabe que eu sempre tento reduzir a quantidade de trabalho futuro, fazendo ele hoje.

No dia a dia de um desenvolvedor mobile, acabamos escrevendo sempre os mesmos trechos de código. Dai que veio a motivação de entender um pouco sobre como o Android Studio poderia me ajudar nisso. Se você gosta de Design Patterns e se esse problema estivesse no contexto do código, logo surgiria a palavra "template" em sua mente.

Bom, na vida real não vai ser diferente! Bora lá ver um pouco sobre essas estruturas que o AS nos fornece.

Templates, Live Templates e outras paradas.

Como falamos anteriormente, o AS provê uma série de alternativas para nos ajudar nesse problema. Cada solução atende a um contexto específico e vamos tentar entender cada um deles.

Live Templates

Provavelmente você já esbarrou com um desses, principalmente, se você estivesse querendo logar alguma informação ao longo de seu código. Sim! Os lives templates são estruturas que permitem inserir trechos de códigos repetitivos e que aparecem como uma sugestão. Lembra que falei, logo ali em cima, que você já havia se deparado com um desses?

Então, o exemplo mais comum de nosso dia a dia é o logd.

Email image

Essas estruturas podem ser divididas em dois tipos:

Simples

Email image

Parametrizado

Email image

Exemplo prático

Imagine que você está codificando uma feature e está na parte de criar sua ViewModel. Nesse contexto, sempre há a necessidade de declararmos alguns sinais que serão emitidos para nossos UI Controllers. É uma boa prática, mas nem sempre adotada, a utilização de uma estrutura privada e outra pública para resolver esse problema.

Email image

Observando a estrutura anterior, podemos ver que há um padrão e que ele pode ser replicado utilizando os Live Templates. Bom, vamos lá.

  • Abra o Settings ou Preferences (no MAC) do seu Android Studio
  • Procure por Live Template no campo de busca
  • Clique em + para adicionar um novo template
  • Adicione o seguinte trecho de código
Email image
  • Escolha uma abreviação e descrição
  • Atribua um contexto.

Observando a estrutura anterior, podemos ver que há um padrão e que ele pode ser replicado utilizando os Live Templates. Bom, vamos lá.

  • Abra o Settings ou Preferences (no MAC) do seu Android Studio
  • Procure por Live Template no campo de busca
  • Clique em + para adicionar um novo template
  • Adicione o seguinte trecho de código

Resultado

Email image

Antes de irmos, mais um exemplo prático

Beleza, vimos como automatizar um trecho de código simples. Mas, será que existe a possibilidade de automatizarmos algo mais complexo? Imagine que você está criando um teste unitário do seu objeto de analytics.

Nesse contexto, gostaríamos de assegurar que quando o usuário clicar no botão 'Preciso de ajuda', o analytics enviasse para a label 'preciso_de_ajuda'. Vamos ver como podemos fazer isso?

Email image

Agora precisamos ter alguma maneira de transformar o $BUTTON_NAME$ para snakeCase de forma automática. Para isso:

http://youtu.be/kfGtpEN4jWw

E agora, josé?

Existe ainda outras paradas, as quais não serão discutidas nessa postagem! Mas elas são:

  • File and Code Templates
  • Postfix Completion

E não, não é por preguiça. É que essas outras duas formas de automatizar trechos de código ou são parcialmente editáveis ou não são editáveis.

Prepara pro Bônus

Se você é da turma do Flutter, que nem eu, te falar que rola fazer uns templates bem legais para GetX e construção de Widgets.

Ficou curioso né, josé? Relaxa, esse post será convertido para o contexto do passarinho azul!

Email image

Bibliografia

  • IntelliJ. Live Template. IntelliJ IDEA Documentation, 21 de abril. de 2022. Disponível em:<https://www.jetbrains.com/help/idea/using-live-templates.html>. Acesso em: 28 de abril. de 2022.
  • Photo by Pankaj Patel on Unsplash