codigo legado fisl

Post on 19-Jul-2015

1.311 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related