8 de mar. de 2013

[Dica] O que é e o que não é refatoração – de acordo com Kent Beck e Martin Fowler

Hoje vou deixar por aqui uma dica sobre o que é ou não é refatoração que li na JavaCodeGeeks e descobri que o autor também está participando de um blog brasileiro o IMasters

Às vezes, um programador virá a mim e explicará que ele  não gosta do design de alguma coisa e que “vamos precisar fazer um monte de refatoração” para fazer a coisa direito. Isso não parece bom. E não parece refatoração ou…
Refatoração, como originalmente definido por Martin Fowler e Kent Beck, é:
Uma alteração feita na estrutura interna do software para torná-lo mais fácil de entender e mais barato para modificar sem alterar seu comportamento observável… É uma forma disciplinada de limpar código que minimiza as chances de introduzir bugs.”
Leia a matéria completa em português ou inglês:


9 de fev. de 2013

Boas práticas de programação

Hoje vou passar o que são as melhores práticas para programar, para deixar seu código legível e coeso. Nosso foco é java, mas pode ser usado em outras linguagens ou no seu próprio dia-a-dia.

Nomeação

  • Ao nomear uma variável ou método coloque um nome que tenha o significado do que ele vai fazer, por favor sem var1, var2 e etc.
  • Utilize sempre o padrão camelCase para nomeação. Por exemplo:


Variáveis: nomeDaMinhaVarivel
Métodos: nomeDoMeuMetodo 

No padrao java beans tem algumas regras:
 Métodos getters/setters devem iniciar com get e set.
public void getDinheiro(){
      return valor;
}
public Integer setDinheiro(int valor){
      this.valor = valor;
}
   Se for um booleano ao inves de get é utilizado o prefixo is:

public void isDinheiro(){
      return limiteUltrapassado;
}
public Boolean setDinheiro(boolean limiteUltrapassado){
     this.limiteUltrapassado = limiteUltrapassado;
}
OBS: Qual a diferença entre int e Integer ou Boolean e boolean? Basicamente int, boolean, float e etc são tipos primitivos e Integer, Boolean, Float e etc são Objetos.
Existe muitas outras regras, mas penso que essa seja a princial, veja mais no link abaixo:
Padrão JavaBeans

Funcionalidade


  • Seu método não deve ser extenso, como um amigo me ensinou ele não deve nunca ser maior que sua tela, em outras palavras você deve conseguir visualizar seu método todinho em sua tela, claro sempre há exceções e não será todos assim.
  • Sempre, mas sempre que possível, isso é muito possível refatore seu código!
  • Utilize o máximo que a Orientação a Objetos lhe fornece.
  • Seu método deve falar por si próprio, quando outro programador ver ele dever não passar muito tempo e identificar o que ele faz.
  • Um ponto que considero muito importante é utilizar o menor número possível de comentários em seu código, deve ter um ou outro quando em um método a lógica talvez seja muito complexa, isso são poucos casos.


Esse são alguns passos básicos, com o tempo e experiência de outros programadores você pode sempre melhorar sua forma de desenvolver software, no caso aqui códigos.

Bom simples, fácil e rápido ;)