1 - Programinha ;D

4 respostas
C

Olá,como podem ver eu sou novo no forum, e gostaria da opinião de voces.Fiz meu primeiro programinha em java e gostaria que voces avaliassem ele,é bem básico.

4 Respostas

ajob

Caramba… tb tou começando agora, mas estou impressionado… só que copiei compilei mas nuam rodou, pede loguin e senha, se não digito diz que é obrigatorio e se digito da o seguinte erro org.postgresql.Driver

P

Olá,

tava dando uma lida nas suas classes, tenho umas dicas:

Na classe Conexao.java, voce nao deveria declarar cada parametro de conexão como uma string. Você poderia fazer um Map de Properties no caso, aqui tem um bom link sobre isso:

http://ivanqueiroz.wordpress.com/2008/05/30/utilizando-a-classe-javautilproperties-para-carregar-configuraes-da-sua-aplicao/

Outra coisa, para tratar erros, dá um olhada no Log4J. Não é um jeito bem legal tratar exceptions com e.printStackTrace();

Ao invés de mandar abrir e fechar a conexão o tempo todo, deixa só uma conexão como static. Voce vai economizar tempo e o trabalho de ficar digitando fecharConexao() o tempo todo.

Esse são os comentários sobre a classe conexao.

Agora sobre a classe de login…

Olha, eu achei o código dela muito grande e com um montão de coisas. Você poderia reduzir isso. Como? Usa um layout. Como é so uma tela de Login, vc poderia usar o GridLayout(). Ai voce ja ia tirar todos esses setbounds ai.

Outra coisa, uma regra da programação OO: ENCAPSULE O QUE VARIAR. Aplique um encapsulamento em cada componente.

Bem, eu nao sei se é certo mas me ajuda muito. Quando vou criar um form, ao invés de digitar uma porrada de botão, eu crio so uma classe que vai retornar buttons e vai receber um ActionListener. Por ex: Se eu quero um botão para abrir e outro para fechar, vc ha de convir que os dois botões são iguais, so varia o caption de cada um deles e o ActionListener. Então faça uma classe que retorne botões e pegue actionListeners.

Sobre o metodo que vc criou o validaCampos, eu acho que vc poderia fazer essa validação em cada um dos campos mesmo. Ou entao criar uma classe dessas que receba um varargs de TextFields, Retornar uma mensagem caso a pessoa pule o campo sem nada. E ja começar com o focus em um dos TXT seu. Seria interessante que vc criasse um actionListener para cada membro, ao invés daquele getSource() imenso.

Sobre a classe Usuario, está bem composta. Mas eu acho que voce deveria logo de cara aprender a usar o Hibernate. SQL é uma bosta pra dar manutenção.

mas cara, como voce é iniciante eu me surpreendi com a qualidade do seu código em uma série de coisas.

Voce ja programou em outra linguagem? Você seguiu até as coisas mais bestas (regras de nomeação NetBeans) a risca. Isso é um ponto a mais. Achei tudo bem organizadinho.

Parabéns!

ViniGodoy

No lugar do Log4J você também pode usar as próprias classes de log do Java:
http://java.sun.com/j2se/1.5.0/docs/guide/logging/overview.html
http://java.sun.com/j2se/1.4.2/docs/guide/util/logging/
http://java.sun.com/j2se/1.4.2/docs/api/java/util/logging/package-summary.html

Outros comentários:

  1. lembre-se de fechar a sua conexão e statements num bloco finally. Caso contrário, uma exceção pode deixa-los abertos.
  2. Crie um listener para cada botão. Isso evita aquele if gigantesco e ineficiente. Melhor ainda, ao invés de usar o ActionListener, crie uma Action para ação da tela (por exemplo, “Novo”) e então associe a ação ao botão. A vantagem é que a mesma ação pode ser também adicionada a menus, menus popup, teclas de atalho, etc.

No mais, concordo com o pessoal. Começou muito bem! :slight_smile:

C

Agradeço os comentários ^^

O erro eh pq precisa do banco de dados postgre e as tabelas para funcionar direitinho.

Já programei, so que para web.

Nota : usei só jcreator nenhuma ide grafica ^^

Comprei o livro “use a cabeça!Java” recomendo pra quem estiver começando.

Criado 20 de julho de 2008
Ultima resposta 20 de jul. de 2008
Respostas 4
Participantes 4