Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Artesanato de Software

Artesanato de Software

Palestra apresentada no TDC2013 Florianópolis

Edson Yanaga

May 24, 2013
Tweet

More Decks by Edson Yanaga

Other Decks in Technology

Transcript

  1. Artesanato de
    Software
    Edson Yanaga
    @edsonyanaga

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  4. Agile Manifesto

    View full-size slide

  5. E 10 anos depois?

    View full-size slide

  6. Artesanato de Software

    View full-size slide

  7. Software é artesanal

    View full-size slide

  8. Nós não precisamos de mais
    programadores!

    View full-size slide

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

    View full-size slide

  10. Herança
    Polimorfismo
    Encapsulamento

    View full-size slide

  11. Herança
    Polimorfismo
    Encapsulamento

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  14. public class Conta {
    private BigDecimal saldo = new BigDecimal("0.00");
    public BigDecimal getSaldo() {
    return saldo;
    }
    public void setSaldo(BigDecimal saldo) {
    this.saldo = saldo;
    }
    }

    View full-size slide

  15. 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);
    }
    }

    View full-size slide

  16. 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;
    }
    }

    View full-size slide

  17. public class ContaService {
    public void somarValorNaConta(Conta conta, BigDecimal valor) {
    checkNotNull(conta);
    conta.somar(valor);
    }
    }

    View full-size slide

  18. Cuide do seu código.

    View full-size slide

  19. Software melhor,
    mundo melhor

    View full-size slide

  20. Edson Yanaga
    [email protected]
    @edsonyanaga
    www.yanaga.com.br

    View full-size slide