Olá desenvolvedores, bem-vindos a mais um tutorial de refinamento do sistema corrigindo e solucionando bugs. Estes tutorias onde avaliamos o sistema em busca de bugs ou de onde possam ser implementadas melhorias é uma oportunidade para que você, que está entrando agora para este mercado possa desenvolver uma mentalidade de programador.

Entenda, que sistemas tais como os que estamos desenvolvendo ao longo deste módulo e aprimorando, é o que de mais simples você encontrará em sua carreira de programador.  E a medida em que sobe a complexidade da solução desenvolvida, na mesma proporção são os bugs.

E esta é uma fase necessária a qualquer sistema, a fase em que buscamos por fragmentos que podem ser melhorados e/ou entregar mais performance ao usuário. É uma fase em que avaliamos o sistema no contexto de sua operação para avaliarmos como ele se comportará em produção. É a fase de validação, de testes. Equipes robustas terão um profissional apenas para executar esta função. Existirão testes de carga, de integração, de usabilidade, de stress, entre outros.

Com estes testes serão verificados respectivamente o quanto a aplicação suporta em volume de informações e tráfego, será avaliado se o sistema funciona corretamente com as integrações necessárias. E ainda como o usuário interage com a aplicação sendo verificadas onde ele encontra mais dificuldade e por fim será testada qual será o limite da aplicação, até onde o seu sistema é capaz de operar sem apresentar qualquer instabilidade.

No entanto, os testes citados são apenas alguns exemplos, existem outros e a necessidade deste ou daquele teste dependerá de uma série de fatores. No entanto, é bom que você se acostume com esta rotina, desenvolver, testar, corrigir bugs, testar de novo. Então vamos para um tutorial de correção de bugs.

BUGS NO CADASTRO DE TELEFONE

Se a exemplo do que fizemos na página de cadastro de telefone, selecionarmos a URL e clicarmos para entrar, uma tela em branco surgirá. E observe na URL que a página recebe dois parâmetros a ação e o user.

Assim, no método doGet da servlet servletsTelefone.java envolveremos todo o bloco que está sendo processado em uma condição if. Isto é, se o usuário for diferente de nulo, o fluxo de processamento seguirá normalmente.

If(user != null){}

Mas se não existir um usuário, e a tecla Enter for pressionada precisaremos redirecionar para a página de cadastro de usuário, carregando a lista destes usuários. Dessa forma, eliminamos a tela em branco e não corremos o risco de perder a referência do usuário.

BUGS NO CADASTRO DE PRODUTOS

Nossa mentalidade ao desenvolver soluções deverá estar orientada para a prevenção de possíveis erros do usuário. Uma vez que o usuário poderá querer testar o limite da nossa aplicação. E pensando nesta possibilidade observe que quando inserimos uma quantidade absurda de produtos no campo correspondente, um erro de estouro de campo numérico ocorre.

Poderemos resolver este erro alterando o tipo de entrada de dados do input do campo correspondente de number para text. E utilizando também a propriedade do CSS maxlength para limitar a quantidade de caracteres que podem ser inseridos.

E para forçar apenas a entrada de valores numéricos utilizaremos uma função jQuery, para qual passaremos o id do campo.

E no banco de dados, clicando com o botão direito sobre a coluna quantidade, também alteraremos o tipo de dado.

EM POUCAS PALAVRAS

No tutorial de hoje recorremos a biblioteca jQuery para limitarmos a quantidade de dígitos que o usuário poderia inserir em um dado campo, e do mesmo modo alteramos no banco de dados o tipo de dado numérico pra bigint. O tipo de dados bigint é usado quando valores inteiros podem exceder o intervalo ao qual o tipo de dados int dá suporte. Eu fico por aqui e nos vemos no próximo tutorial.