Carolina Karklis - Software developer, Magnetis
O hype da orientação a objetos passou e com ele precisamos rever algumas práticas.
Até mesmo o codebase mais limpo pode ter mensagens de erro precárias, checagens de tipo de dado em excesso, e uso dispensável de variáveis nulas.
Nessa talk vou refatorar um sistema frágil e mostrar estratégias dentro do paradigma de orientação a objetos para escrever código de forma mais simples e confiante.
No processo, vamos ver padrões de arquitetura de software que podemos usar, como melhorar mensagens para cenários de input inesperado e remover todas as variáveis nulas possíveis do nosso código.
4. Esse é o livro que me inspirou a falar sobre isso. Eu
realmente sou uma entusiasta do Ruby e acredito que o
código não tem que trazer dor de cabeça pra gente, e sim
ser um meio pra chegarmos aonde queremos. O código
deveria passar confiança pra quem mantém ele, mas nem
sempre é assim
16. Photo by Annelies Geneyn on Unsplash
4 partes de um
método para contar
uma boa história
1. Coletar input
2. Realizar o trabalho
3. Entregar output
4. Lidar com falhas
23. Mensagens = Ações
#parse_legacy_purchase_records
for #each purchase record we want to:
use #email_address to #get_customer
use #product_id to #get_product
#add_purchased_product to the customer record
#log_successfull_import from the purchase record
43. 💣 causa desordem e tira linearidade no código
💣 se torna difícil de testar e manter
💣 embute responsabilidades e conhecimentos desnecessários
44. A solução é dividida em patterns estratégias específicas:
Coagir objetos para que façam o que precisa ser feito
Rejeitar valores inesperados de maneira mais eficiente
Substituir inputs inaceitáveis por valores válidos