Olá a todos.
Meu nome é Guilherme e apesar de gostar muito de Java, sou programador profissional em C/C++ não em Java
É bem provável que alguém já tenha colocado essa pergunta aqui no fórum, mas como eu não encontrei, não custa nada perguntar e responder novamente.
Eu já li este documento da Sun sobre convenção de código:
http://java.sun.com/docs/codeconv/
mas eu achei ele meio fraco.
Em C/C++ eu uso uma convenção chamada “notação húngara”, que define coisas do tipo:
- no nome da variável membro um “m_”;
- o tipo da variável ou do objeto no nome de qualquer variável;
- um “C” antes do nome das classes e um “I” antes do nome das interfaces;
e assim por diante.
Por exemplo, uma classe Java normal seria:
public interface MinhaInterface {
public void meuMetodoAbstrato();
}
public class MinhaClasse {
protected Tipo1 atributo1;
protected Tipo2 atributo2;
public void meuMetodo(Tipo1 argumento1, Tipo2 argumento2) {
Tipo2 variavelLocal1;
Tipo3 variavelLocal2;
atributo1 = argumento1;
atributo2 = argumento2;
}
}
Já com a notação húngara, ficaria assim:
public interface IMinhaInterface {
public void meuMetodoAbstrato();
}
public class CMinhaClasse {
protected Tipo1 m_atributo1;
protected Tipo2 m_atributo2;
public void meuMetodo(Tipo1 _argumento1, Tipo2 _argumento2) {
Tipo2 variavelLocal1;
Tipo3 variavelLocal2;
m_atributo1 = _argumento1;
m_atributo2 = _argumento2;
}
}
Facilita por exemplo no seguinte:
-
tirar as referências “this”;
-
evita confusão entre o nome de parâmetros, atributos (variáveis membro) e variáveis locais.
-
evita confundir interfaces com classes;
-
em muitos casos pode-se saber de antemão o tipo da variável, por exemplo:
// Ao invés de usar:
String numero1 = JOptionPane.showInputDialog("Digite um numero");
int numero2 = Integer.parseInt(numero1);
// pode-se usar:
String sNumero = JOptionPane.showInputDialog("Digite um numero");
int iNumero = Integer.parseInt(sNumero);
Etc…
Então eu queria saber se existe alguma convenção desse tipo em Java, ou somente aquelas minúsculas e maiúsculas?
Abraços.