TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Atualização do chrome

Por:   •  24/9/2015  •  Artigo  •  3.240 Palavras (13 Páginas)  •  196 Visualizações

Página 1 de 13

Explicação

Com certeza, todo desenvolvedor de software já escreveu um trecho de código que não funcionava. E pior, muitas vezes só descobrimos que o código não funciona quando nosso cliente nos reporta o bug. Nesse momento, perdemos a confiança no nosso código (já que o número de bugs é alto) e o cliente perde a confiança na equipe de desenvolvimento (já que ela não entrega código de qualidade). Mas será que isso é difícil de acontecer?

Para exemplificar isso, imagine que hoje trabalhamos em um sistema de leilão. Nesse sistema, um determinado trecho de código é responsável por devolver o maior lance de um leilão. Veja a implementação deste código:

class Avaliador {

    private double maiorDeTodos = Double.NEGATIVE_INFINITY;

    public void avalia(Leilao leilao) {

        for(Lance lance : leilao.getLances()) {

            if(lance.getValor() > maiorDeTodos) {

                maiorDeTodos = lance.getValor();

            }

        }

    }

    public double getMaiorLance() { 

        return maiorDeTodos; 

    }

}

class TesteDoAvaliador {

    public static void main(String[] args) {

        Usuario joao = new Usuario("Joao");

        Usuario jose = new Usuario("José");

        Usuario maria = new Usuario("Maria");

        Leilao leilao = new Leilao("Playstation 3 Novo");

        leilao.propoe(new Lance(joao,300.0));

        leilao.propoe(new Lance(jose,400.0));

        leilao.propoe(new Lance(maria,250.0));

        Avaliador leiloeiro = new Avaliador();

        leiloeiro.avalia(leilao);

        System.out.println(leiloeiro.getMaiorLance()); // imprime 400.0

    }

}

Esse código funciona. Ao receber um leilão, ele varre a lista buscando o maior valor. Veja que a variável maiorDeTodos é inicializada com o menor valor que cabe em um double. Isso faz sentido, já que queremos que, na primeira vez que o forseja executado, ele caia no if e substitua o menor valor do double pelo primeiro valor da lista de lances.

A próxima funcionalidade a ser implementada é a busca pelo menor lance de todos. Essa regra de negócio faz sentido estar também na classe Avaliador. Basta acrescentarmos mais uma condição, desta vez para calcular o menor valor:

class Avaliador {

    private double maiorDeTodos = Double.NEGATIVE_INFINITY;

    private double menorDeTodos = Double.POSITIVE_INFINITY;

    public void avalia(Leilao leilao) {

        for(Lance lance : leilao.getLances()) {

            if(lance.getValor() > maiorDeTodos) {

                maiorDeTodos = lance.getValor();

...

Baixar como (para membros premium)  txt (16.8 Kb)   pdf (209 Kb)   docx (406.6 Kb)  
Continuar por mais 12 páginas »
Disponível apenas no TrabalhosGratuitos.com