codigo ficou meio confuso e acha melhor adicionar um comentario? Nao, voce acha melhor refatorarQuando voce pensa em adicionar um comentario em seu codigo, e um forte indicio que ele nao esta muito bom, nao esta claroNao use comentarios quando voce pode usar metodos ou variaveis,explique-se no codigo, lembre-se que apenas o codigo pode dizer o que ele realmente fazFormatacaoA formatacao do codigo e importante, pois se trata da forma de comunicacao do desenvolvedor, um codigo todo baguncado e sem formatacao dificulta o entendimento de quem o esta lendoA legibilidade do codigo tera profundo efeito sobre todas as mudancas que serao feitas, seu estilo e disciplina sobrevive sobre estas mudancas.Procure escrever classes com no maximo 500 linhas, classes menores sao mais faceis de se entender. Ja para as linhas de codigo, tente estabelecer um limite de caracteres por linha. Uma boa identacao ajuda a visualizar melhor todo o escopo e facilita a identificacao de situacoes e regras relevantes. Tente manter conceitos relacionados mais proximos verticalmente, para criar um fluxo na leitura do codigo. Use espacos entre operadores, parametros e virgulas. Evite deixar o codigo todo grudado.Tratamento de erroQuando estamos programando devemos tratar os possiveis erros que nossa aplicacao podera lancar, as coisas podem dar errado e temos que estar certos que nosso codigo fara o que deve fazerPrefira lancar uma exception ao inves de retornar um codigo de erro, estes retornos desorganizam a chamada do metodo e pode-se facilmente esquecer de verifica-losDefina o fluxo do metodo separando as regras de negocio de erros ou outras situacoes. Para seus erros crie mensagens informativas, mencionando a operacao que falhou e o tipo de falha.Testes unitariosHa alguns anos atras, pouco se ouvia falar de TDD (Test Driven Development). Para muitos TDD era apenas trechos de codigo que garantia que o programa funcionasse. Mas essa ideia amadureceu bastante entre todos nos, hoje em dia programar com TDD e um conceito de alto nivel, por isso, todos os testes que criamos devem ser escritos com codigo limpo.Queremos dizer muito em nossos testes, por isso que eles devem ser legiveis, claros e simples de entender. Um teste com codigo ruim e dificil de entender e muito mais trabalhoso para se dar manutencao. Cada teste deve possuir apenas um conceito para facilitar seu entendimento, tambem deve sofrer alteracoes da mesma maneira que o codigo que esta testando, tudo isso para manter a flexibilidade e a manutenabilidade do codigo.Lembre-se que o codigo do teste e tao importante quanto o codigo da producao.Todos sabem que o TDD nos manda escrever o teste antes do codigo de producao em si, considere essas tres regras do TDD:1. Voce nao pode escrever o codigo ate que voce tenha criado um teste que falhe.2. Voce nao pode escrever mais testes do que seja suficiente para falhar.3. Voce nao pode escrever mais codigo do que o suficiente para passar o teste que esta falhando.Se voce conseguir seguir essas regras ao desenvolver, voce estara praticando TDD corretamente.ClassesPara comecarmos a falar de classes limpas podemos partir da organizacao das classes. De acordo com os padroes Java, uma classe