View
1.312
Download
0
Category
Preview:
Citation preview
CÓDIGO LEGADO
Fazendo as pazes com
quinta-feira, 30 de junho de 2011
~ 12 anos de estrada
~ Desenvolvedor Senior da Globo.com
~ Apaixonado pelo que faço ...
quinta-feira, 30 de junho de 2011
~ 4 anos de estrada
~ Desenvolvedor da Globo.com
~ Hacker por definição e apaixonado por tecnologia
Guilherme Souza (não pode vir)
quinta-feira, 30 de junho de 2011
quinta-feira, 30 de junho de 2011
quinta-feira, 30 de junho de 2011
NOT
quinta-feira, 30 de junho de 2011
Made by Other
quinta-feira, 30 de junho de 2011
quinta-feira, 30 de junho de 2011
Cuidadovocê pode estar
escrevendo código legado agora ...
quinta-feira, 30 de junho de 2011
quinta-feira, 30 de junho de 2011
TESTE
quinta-feira, 30 de junho de 2011
quinta-feira, 30 de junho de 2011
Clean Code is not ENOUGH
quinta-feira, 30 de junho de 2011
quinta-feira, 30 de junho de 2011
Era uma vez ...
quinta-feira, 30 de junho de 2011
E daí ?
quinta-feira, 30 de junho de 2011
quinta-feira, 30 de junho de 2011
quinta-feira, 30 de junho de 2011
Era uma vez ...
quinta-feira, 30 de junho de 2011
Refazer é caro
quinta-feira, 30 de junho de 2011
MissãoEnsinar técnicas e formas de pensar que facilitem e deixem a todos confiantes para mexer em qualquer base de código
quinta-feira, 30 de junho de 2011
Era uma vez ...
quinta-feira, 30 de junho de 2011
quinta-feira, 30 de junho de 2011
Caminho é longo ...
quinta-feira, 30 de junho de 2011
Complexidade é alta ...
quinta-feira, 30 de junho de 2011
Mas o prazo é oMESMO
quinta-feira, 30 de junho de 2011
Por onde começar?
quinta-feira, 30 de junho de 2011
.. vença uma por vez ...
Escolha suas batalhas e
quinta-feira, 30 de junho de 2011
Dependencia
Efeito Colateral
Aumentar cobertura de teste
quinta-feira, 30 de junho de 2011
quinta-feira, 30 de junho de 2011
Identify Change Points
quinta-feira, 30 de junho de 2011
Find Test Points
quinta-feira, 30 de junho de 2011
Break Dependencies
quinta-feira, 30 de junho de 2011
Cover with tests
quinta-feira, 30 de junho de 2011
Change
quinta-feira, 30 de junho de 2011
Como eu faço isso ? quinta-feira, 30 de junho de 2011
example.rb Page 1
class Example def send_welcome_msg clients = Client.get_all clients.each do |client| addresses = client.get_all_users body = << EOF Welcome to our system. We're very happy for your presence here. EOF
addresses.each do |user| sender = MailSender.new sender.from= "aoqfonseca@gmail.com" sender.to= user.mail sender.body=body sender.send end client.billing << Charging.new(200) account = client.bank_account account.charge end endend
quinta-feira, 30 de junho de 2011
example.rb Page 1
class Example def send_welcome_msg clients = Client.get_all clients.each do |client| addresses = client.get_all_users body = << EOF Welcome to our system. We're very happy for your presence here. EOF
addresses.each do |user| sender = MailSender.new sender.from= "aoqfonseca@gmail.com" sender.to= user.mail sender.body=body sender.send end client.billing << Charging.new(200) account = client.bank_account account.charge end endend
Quero colocar aqui um audit
quinta-feira, 30 de junho de 2011
Sprout
Methods
quinta-feira, 30 de junho de 2011
Change Point
quinta-feira, 30 de junho de 2011
Change Point
New Tested Method
quinta-feira, 30 de junho de 2011
example.rb Page 1
class Example def send_welcome_msg clients = Client.get_all clients.each do |client| addresses = client.get_all_users body = << EOF Welcome to our system. We're very happy for your presence here. EOF
addresses.each do |user| sender = MailSender.new sender.from= "aoqfonseca@gmail.com" sender.to= user.mail sender.body=body sender.send audit_send(user.mail, body) end client.billing << Charging.new(200) account = client.bank_account account.charge end end
def audit_send(mail, body) audit = Audit.new audit.operations << SendMailOperatio.new(:to=> mail, :body => body, created_at => Date.now) audit.save endend
quinta-feira, 30 de junho de 2011
example.rb Page 1
class Example def send_welcome_msg clients = Client.get_all clients.each do |client| addresses = client.get_all_users body = << EOF Welcome to our system. We're very happy for your presence here. EOF
addresses.each do |user| sender = MailSender.new sender.from= "aoqfonseca@gmail.com" sender.to= user.mail sender.body=body sender.send audit_send(user.mail, body) end client.billing << Charging.new(200) account = client.bank_account account.charge end end
def audit_send(mail, body) audit = Audit.new audit.operations << SendMailOperatio.new(:to=> mail, :body => body, created_at => Date.now) audit.save endend
quinta-feira, 30 de junho de 2011
example.rb Page 1
class Example def send_welcome_msg clients = Client.get_all clients.each do |client| addresses = client.get_all_users body = << EOF Welcome to our system. We're very happy for your presence here. EOF
addresses.each do |user| sender = MailSender.new sender.from= "aoqfonseca@gmail.com" sender.to= user.mail sender.body=body sender.send audit_send(user.mail, body) end client.billing << Charging.new(200) account = client.bank_account account.charge end end
def audit_send(mail, body) audit = Audit.new audit.operations << SendMailOperatio.new(:to=> mail, :body => body, created_at => Date.now) audit.save endend
quinta-feira, 30 de junho de 2011
example.rb Page 1
class Example def send_welcome_msg clients = Client.get_all clients.each do |client| addresses = client.get_all_users body = << EOF Welcome to our system. We're very happy for your presence here. EOF
addresses.each do |user| sender = MailSender.new sender.from= "aoqfonseca@gmail.com" sender.to= user.mail sender.body=body sender.send audit_send(user.mail, body) end client.billing << Charging.new(200) account = client.bank_account account.charge end end
def audit_send(mail, body) audit = Audit.new audit.operations << SendMailOperatio.new(:to=> mail, :body => body, created_at => Date.now) audit.save endend
TEST
ADO
quinta-feira, 30 de junho de 2011
Sprout
Classes
quinta-feira, 30 de junho de 2011
Change Point
quinta-feira, 30 de junho de 2011
Change Point
New Tested Class
quinta-feira, 30 de junho de 2011
example.rb[+] Page 1
class Example def welcome clients = Client.get_all clients.each do |client| addresses = client.get_all_users body = << EOF Welcome to our system. We're very happy for your presence here. EOF
addresses.each do |user| sender = MailSender.new sender.from= "aoqfonseca@gmail.com" sender.to= user.mail sender.body=body sender.send audit_send(user.mail, body) end end end
def audit_send(mail, body) audit = Audit.new audit.operations << SendMailOperatio.new(:to=> mail, :body => body, created_at => Date.now) audit.save endend
quinta-feira, 30 de junho de 2011
Wrap
Methods
quinta-feira, 30 de junho de 2011
quinta-feira, 30 de junho de 2011
Change Point
quinta-feira, 30 de junho de 2011
Change Point
Wrap Tested Method
quinta-feira, 30 de junho de 2011
example.rb[+] Page 1
class Example def old_welcome(clients) clients.each do |client| addresses = client.get_all_users body = << EOF Welcome to our system. We're very happy for your presence here. EOF
addresses.each do |user| sender = MailSender.new sender.from= "aoqfonseca@gmail.com" sender.to= user.mail sender.body=body sender.send audit_send(user.mail, body) end end end
def welcome clients= Client.get_all old_welcome clients Billing.charge(clients) end
def audit_send(mail, body) audit = Audit.new audit.operations << SendMailOperatio.new(:to=> mail, :body => body, created_at => Date.now) audit.save endend
quinta-feira, 30 de junho de 2011
example.rb[+] Page 1
class Example def old_welcome(clients) clients.each do |client| addresses = client.get_all_users body = << EOF Welcome to our system. We're very happy for your presence here. EOF
addresses.each do |user| sender = MailSender.new sender.from= "aoqfonseca@gmail.com" sender.to= user.mail sender.body=body sender.send audit_send(user.mail, body) end end end
def welcome clients= Client.get_all old_welcome clients Billing.charge(clients) end
def audit_send(mail, body) audit = Audit.new audit.operations << SendMailOperatio.new(:to=> mail, :body => body, created_at => Date.now) audit.save endend
quinta-feira, 30 de junho de 2011
example.rb[+] Page 1
class Example def old_welcome(clients) clients.each do |client| addresses = client.get_all_users body = << EOF Welcome to our system. We're very happy for your presence here. EOF
addresses.each do |user| sender = MailSender.new sender.from= "aoqfonseca@gmail.com" sender.to= user.mail sender.body=body sender.send audit_send(user.mail, body) end end end
def welcome clients= Client.get_all old_welcome clients Billing.charge(clients) end
def audit_send(mail, body) audit = Audit.new audit.operations << SendMailOperatio.new(:to=> mail, :body => body, created_at => Date.now) audit.save endend
quinta-feira, 30 de junho de 2011
Wrap
Classes
quinta-feira, 30 de junho de 2011
quinta-feira, 30 de junho de 2011
Change Point
quinta-feira, 30 de junho de 2011
Change Point
Wrap Tested Class
quinta-feira, 30 de junho de 2011
Acabou ?
Era só isso?
quinta-feira, 30 de junho de 2011
NEGATIVO
quinta-feira, 30 de junho de 2011
Vamos ao refactoring ...
quinta-feira, 30 de junho de 2011
Não vamos reinventar nada !
ATENÇÃO
quinta-feira, 30 de junho de 2011
SOLIDSMELLS (Fowler)PatternsRefactoring Patterns
quinta-feira, 30 de junho de 2011
Foco
quinta-feira, 30 de junho de 2011
Bora codar um pouco ...
quinta-feira, 30 de junho de 2011
@aoqfonseca
aoqfonseca@gmail.com
www.andrefonseca.net
Obrigado !!!
quinta-feira, 30 de junho de 2011
Recommended