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.
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. | ||
Essas estruturas podem ser divididas em dois tipos: | ||
Simples | ||
Parametrizado | ||
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. | ||
Observando a estrutura anterior, podemos ver que há um padrão e que ele pode ser replicado utilizando os Live Templates. Bom, vamos lá. | ||
| ||
| ||
Observando a estrutura anterior, podemos ver que há um padrão e que ele pode ser replicado utilizando os Live Templates. Bom, vamos lá. | ||
| ||
Resultado | ||
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? | ||
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: | ||
| ||
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! | ||
Bibliografia | ||
|