Artesanato de Software

Artesanato de Software

Palestra apresentada no TDC2013 Florianópolis

14493d3489b1441918bfddfe298415d9?s=128

Edson Yanaga

May 24, 2013
Tweet

Transcript

  1. Artesanato de Software Edson Yanaga @edsonyanaga

  2. Edson Yanaga • Bacharel em Ciência da Computação/UEM • Mestre

    em Engenharia Elétrica/UTFPR • Desenvolvedor Java desde 1997 • Administrador Unix desde 1999 • Líder Técnico na Produtec desde 2013 • Instrutor Líder da GlobalCode desde 2012
  3. Certificações • Oracle Certified Professional, Java Platform, Enterprise Edition 6

    Enterprise JavaBeans Developer • Sun Certified Enterprise Architect for the Java Platform,Enterprise Edition 5 (i) • Certified ScrumMaster • Sun Certified Developer for Java Web Services 5 • Sun Certified Specialist for NetBeans IDE • Sun Certified Web Component Developer for J2EE 1.4 • Sun Certified Programmer for Java 2 Platform 1.4
  4. Agile Manifesto

  5. E 10 anos depois?

  6. Artesanato de Software

  7. Software é artesanal

  8. Ou não?

  9. None
  10. Nós não precisamos de mais programadores!

  11. O que você sabe/ aprendeu sobre OO?

  12. Herança Polimorfismo Encapsulamento

  13. Herança Polimorfismo Encapsulamento

  14. public class Pessoa { private String nome; private String cpf;

    private String telefone; private Date nascimento; }
  15. public class Pessoa { private String nome; private Cpf cpf;

    private Telefone telefone; private Date nascimento; }
  16. None
  17. public class Conta { private BigDecimal saldo = new BigDecimal("0.00");

    public BigDecimal getSaldo() { return saldo; } public void setSaldo(BigDecimal saldo) { this.saldo = saldo; } }
  18. public class ContaService { public void somar(Conta conta, BigDecimal valor)

    { if (conta == null) { throw new IllegalArgumentException("Conta não pode ser nula!"); } if (valor == null) { throw new IllegalArgumentException("Valor não pode ser nulo!"); } BigDecimal saldo = conta.getSaldo(); if (saldo == null) { saldo = new BigDecimal("0.00"); } saldo = saldo.add(valor); conta.setSaldo(saldo); } }
  19. public class Conta { private BigDecimal saldo = new BigDecimal("0.00");

    public BigDecimal getSaldo() { return saldo; } public Conta somar(BigDecimal valor) { checkNotNull(valor); saldo = saldo.add(valor); return this; } }
  20. public class ContaService { public void somarValorNaConta(Conta conta, BigDecimal valor)

    { checkNotNull(conta); conta.somar(valor); } }
  21. Cuide do seu código.

  22. Software melhor, mundo melhor

  23. Edson Yanaga edson@yanaga.com.br @edsonyanaga www.yanaga.com.br