1. O documento discute como trabalhar com sistemas legados desenvolvidos em linguagens não mainstream como Perl, abordando conceitos como o que é legado e como melhorar a manutenção de códigos antigos.
2. É explicado que legado não significa necessariamente código ruim e que linguagens mais antigas podem ter boas práticas e comunidades ativas de desenvolvedores.
3. São dados conselhos como documentar tudo, escrever testes, usar frameworks existentes em vez de reinventar a roda, e manter uma mente aberta.
8. Como deixar um dev chocado:
Abordar um developer feliz, trabalhando
com a sua tecnologia preferida e avisar que
ele trabalhará com algum sistema legado
20. O que é legado?
Ninguém tem conhecimento das
regras de negócio.
21. O que é legado?
Ninguém tem conhecimento das
regras de negócio.
Não atende completamente às
necessidades do negócio.
22. O que é legado?
Ninguém tem conhecimento das
regras de negócio.
Não atende completamente às
necessidades do negócio.
Evolução arriscada ou muito
custosa
23. “fui alocado sozinho num […] pequeno
sistema "legado" extremamente mal feito.
[...] E eu posso dizer "mal feito" porque
efetivamente ele não executava como
devia, ou seja, era tecnicamente falho e
devolvia muitos erros.”
Fabio Akita
O Mito do Legado
http://www.akitaonrails.com/2012/08/15/off-topic-o-mito-do-legado
29. O quão popular é uma linguagem?
✓ Google Trends
✓ Resultados de busca
✓ Empregos
✓ Projetos no GitHub
✓ Tiobe
✓ PYPL PopularitY of Programming Language
✓ RedMonk Programming Language Rankings
32. O que que o legado tem?
Abordagens diferentes nos
diferentes módulos do sistema
33. O que que o legado tem?
Abordagens diferentes nos
diferentes módulos do sistema
Frameworks próprios
34. O que que o legado tem?
Abordagens diferentes nos
diferentes módulos do sistema
Frameworks próprios
Débitos técnicos acumulados
35. “Faça qualquer coisa, pois legado
ninguém vê”
“É legado, não precisa se preocupar,
pode fazer de qualquer jeito”
36. Sistema utilizado é sistema observado.
Sistema utilizado é sistema passível
de requisições de evolução.
37. Fazer “qualquer coisa” de “qualquer
jeito” leva a perder o controle do
sistema
Não se dê ao luxo de perder o controle
38. Se tem alguém programando,
provavelmente tem comunidade.
Encontre-a.
39. No caso de Perl
✓ http://sao-paulo.pm.org/
✓ http://yapcbrasil2015.org/
✓ http://perl.org.br/
40. No caso de Perl (with lasers)
✓ Metacpan
https://metacpan.org
A modern CPAN search site,
with an open source backend
41.
42.
43. Não é porque é antigo que não tem
boas práticas
Perl::Tidy
Parses and beautifies perl source
44. Não é porque é antigo que não tem
boas práticas
Perl Best Practices
Standards and Styles for Developing
Maintainable Code.
Partes desatualizadas após o Moo/Moose, mas
ainda vale a leitura.
45. Não é porque é antigo que não tem
boas práticas
Perl::Critic
Critique Perl source code for best-practices
Módulo que implementa as indicações do
Perl Best Practices - contempla Moo/Moose