Boas praticas de programação

Pessoal como estou aprendendo java as minhas classes ficam muitos feias(porcas) mas eu estou querendo melhorar isso por exemplo.
uma classe cliente em anotação uml

classe :cliente

propriedade:
int codigo
String nome
String cpf
String end

metodos:
getCodigo()
getNome()
getCpf()
getEnd()
setCodigo()
setNome()
setCpf()
setEnd()

novo(int doc)
atualizar()
deletar()


bem pessoal au acho feio pois fica tudo numa classe só manipulação com o banco de dados regras de negocio por ex. verificar se o cliente não está com o nome sujo e etc. Como eu poderia melhorar isso sujestões?

Acho q vc deve começar corrigindo problemas de modelagem. :slight_smile:
Por exemplo, vc poderia cria uma classe externa (ClienteDao) que receba seu objeto Cliente e faça a parte de inserçao, alteracao e deleção.

Quanto a verificar se o cliente está com o nome sujo, poderia ficar numa classe utilitária, mas em minha opinião isso só valeria a pena se vc tivesse mais de um tipo de checagem a ser feito, e ainda assim nao vejo muita necessidade. :razz:

Abraços,
Wagner Santos

Existem varias praticas que vc pode seguir para melhorar a “cara” dos seus programas…algumas que posso falar sao:

  • Uma responsabilidade por bloco/codigo de programa: Evite fazer com que seus metodos por exemplo tenham muitas responsabilidades…Quanto menos coisas eles fizerem, menores serao os motivos para vc altera-los (outra maneira de se ver a mesma dica, um metodo so deveria ter uma razao para ser alterado)
  • Faça com que suas classes sejam mais independentes…ou seja, que ela nao dependa tanto de outras classes , ou que ao menos, nao tenha que mandar varias mensagens para uma mesma classe…Isso cria uma grande dependencia, e se um dia vc precisar mexer em uma, no minimo vai precisar mexer na outra tambem…
  • Seja o mais generico possivel…prefira interfaces a classes abstratas e concretas, classes abstratas a classes concretas, etc. Vc aumenta a manutenabilidade do programa fazendo isso…
    Bom essas ja sao boas dicas eu acho…eu mesmo sou iniciante, mas isso ja me ajudou bastante…
    Te +