public interface Constantes {
String versao = "1.0";
String formatoData = "dd/MM/yyyy";
String arquivoDeConfiguracao =
".config";
int tamanhoMaximoNome = 32;
String algumaConsulta =
"SELECT * FROM ...";
}
Frequentemente visto em projetos grandes: uma classe ou interface que contém todo tipo de constantes que são usadas ao longo da aplicação inteira. Por que isto é ruim? Porque estas constantes não tem relação entre si. Esta classe é a única coisa que elas têm em comum. E a referência a esta classe polui muitos outros componentes da aplicação. Você quer posteriormente extrair um componente e usá-lo em outra aplicação? Ou compartilhar algumas classes entre um servidor e um cliente remoto? Você talvez tenha que levar junto a classe de constantes também! Esta classe cria uma dependência entre componentes que não são relacionados. Isso inibe o reuso e o baixo acoplamento, e pode levar ao caminho do caos. Em vez disso, coloque as constantes no local ao qual elas pertencem. Constantes jamais devem ser usadas fora dos limites do componente. Isto somente é permitido se o componente é uma biblioteca, no qual uma dependência explícita é desejada.