👨💻 11 dicas 'top' para desenvolvedores Swift
Menos é mais! Escreva menos, produza mais!
Situação:
Você desenvolvia aplicativos em Objective-C e se achava o último biscoito do pacote, de repetente a Apple anuncia uma nova linguagem, Swift, com a promessa que a curva de aprendizado será ainda menor e que qualquer pessoa poderá desenvolver aplicativos.
Você sente que sua posição está ameaçada?
Então essas dicas são para você!
Sinta-se livre para copiar os códigos e testa-los no Playground. Se tiver qualquer dúvida basta deixar nos comentários.
1. Extension
Sem Extension:
Foi criada uma variável inutilmente para armazenar o valor, não precisamos digitar tanto para obter resultados tão simples. Vejam como isso fica usando Extension.
Com Extension:
2. Generics
Imprimir todos os elementos de um Array
Muitas funções para fazer a mesma coisa. Vamos reescrever, utilizando apenas uma função.
3. Loop: For vs While
Imprimir "Usemobile" 5 vezes
É criada a variável 'i' para controlar a quantidade de vezes que o código será executado.
Preste atenção!
Mais variáveis → mais memorização → mais dores de cabeça → mais bugs → mais problemas na sua vida.
Lembre-se do "Efeito borboleta!"
4. Guard let vs If let
Um simples código para login de usuário é assim:
Você consegue perceber a "pirâmide da destruição" (Pyramid of doom)?
Esses código aninhado é desagradável.
Nunca destrua o mal, faça o bem!
A diferença é grande! Se uma ou mais das variáveis tiver valor inválido (nill), o código 'top' irá sair antecipadamente da função chamando o return. Caso todos os valores sejam válidos, ele irá dar continuidade chamando a função print e a mensagem de boas vindas será exibida!
Pronto, adeus pirâmide!
5. Property vs Function
Calculando o diâmetro de um circulo.
Criamos duas funções mutuamente exclusivas. Isso pode ser facilmente otimizado. Lembre-se:
Escreva menos, produza mais!
Agora as variáveis de raio (radius) e diâmetro (diameter) são independentes entre si.
Mais conexões → menos digitação → menos erros tipográficos → menos erros de código → menos problemas na sua vida!
6. Enum para "Type Safe"
Exemplo: Tipos de preços para ingressos.
"Adult", "Child" e "Senior" são strings, que gastam mais tempo para serem comparadas e sempre que forem mencionadas precisam ser escritas por completo, pois o compilador não consegue inferir os tipos existentes.
Ou seja?
Você está digitando muito e produzindo pouco!
Exemplo: Tipos de preços para ingressos com Enum.
//ATUALIZADO: otimizando ainda mais!
Fim dos erros de digitação!
Agora o compilador entende que .Adult, .Child e .Senior são tipos pertencentes a People. Esse tipos ficam destacado visualmente e o XCode irá auxiliar auto-completando quando forem utilizados.
7. Closure vs Function
Mas isso pode ficar mais simples né? Veja só!
8. Programação Funcional
Exemplo: Imperativo (😒)
Exemplo: Declarativo (😍)
"Programação Funcional é fenomenal." Clarice Lispector
9. Nil Coalescing
Exemplo: Usuário customizando a cor do perfil.
Código ficou muito grande. Veja como fica melhor de outra forma!
De forma simplificada, o código acima indica se a variável userCustomColor for nill, o valor atribuído a colorForLayout será defaultColor (UIColor.Red) caso contrário será a cor escolhida pelo usuário.
10. Coalescência condicional
Exemplo: Aumentar o salário se for programador Sénior.
Como sempre digo: Código muito grande!
"Menos é mais!"
O código a seguir indica que se isSenior for verdadeiro (true), adiciona 4500 ao valor currentSalary, senão adiciona zero.
Eu sei que "11 dicasTop" 🔝 não são suficientes para lhe transformar em um programador sênior, mas pode lhe poupar muito tempo!
Lembrem-se:
Tempo é dinheiro!
[BÔNUS] Declaração de nomes para funções
Exemplo: Função para definir um e-mail.
Traduzido de: 10 Tips to become a better Swift Developer
ATUALIZADO:
Confira o artigo Luta contra XCode 🥊 com algumas dicas fundamentais para reduzir o tempo de build do projeto.