Padrão de nomenclatura para codificação em Java - OPENSOFT INFORMÁTICA - 02/2003
O presente documento visa definir um padrão para a nomenclatura de objetos na linguagem Java.
O nome de um objeto deverá ser dividido da seguinte forma:
ttttttVVnnnnnn
Onde:
Qualificador de tipo: tttttt - define o tipo do objeto
Qualificador de visibilidade: VV - define a visibilidade do objeto
Nome do objeto: nnnnnn - define um nome representativo para o objeto no contexto da aplicação
I) Nomenclatura para o qualificador de tipo:
a) Tipos primitivos e suas classes:
Tipo primitivo Qualificador Classe Qualificador
boolean b Boolean bc
byte y Byte yc
short s Short sc
char c Character cc
int i Integer ic
long l Long lc
float f Float fc
double d Double dc
b) Tipos complexos da API java:
Regras:
- Utilizar de 2 até 6 letras minúsculas para sua representação
- Procurar utilizar a primeira letra de cada palavra do nome da classe
- Dar preferência a utilização de consoantes
Exemplos:
Tipo complexo da API Qualificador
String str
JLabel jlb
JTextField jtf
StringBuffer strbuf
BigDecimal bigdec
c) Tipos complexos da aplicação:
Regras:
- Na sua representação utilizar o nome da classe em letras minúsculas
- Encerrar a descrição do qualificador com underline ( _ )
Exemplos:
Tipo complexo da aplicação Qualificador
Usuario usuario_
Funcionario funcionario_
Empresa empresa_
d) Biblioteca de nomenclatura:
Com a finalidade de padronizar a nomenclatura entre os membros da equipe, sugerimos que seja criada uma biblioteca de uso comum para os tipos Java.
II) Nomenclatura para o qualificador visibilidade:
O qualificador para a visibilidade do objeto deverá sempre ser representado com 2 (dois) caracteres maiúsculos, conforme descrito abaixo:
Visibilidade Qualificador Explanação
public PB Visível por qualquer classe
private PR Somente visível pela própria classe
protected PT Visível pela própria classe, pelas suas subclasses a pelas classes do
mesmo pacote
DF Visível somente pelas classes do mesmo pacote
PA Visível somente no escopo do método, identifica os parâmetros do método
Fica claro que a questão de visibilidade entre “Classes” e “Instâncias de classes” depende do modificador static estar ou não presente.
Lembrete: para os tipos declarados no corpo da classe sem modificador de visibilidade, o default é DEFAULT (utilizar neste caso DF), no código não é permitido declarar este modificador, caso queira utiliza-lo basta não informar nada.
Exemplos:
Modificador de visibilidade Qualificador
private iPR
public usuario_PB
private empresa_PR
protected funcionario_PT
jtfDF
III) Nomenclatura para o nome do objeto:
O nome do objeto deve ser representativo no contexto onde ele se insere.
Regras:
- Caso o modificador de visibilidade esteja presente, a primeira palavra do nome deve sempre começar com letra minúscula e as demais palavras devem começar com letra maiúscula
- Para atributos de método que sejam declarados localmente, não utilizar o qualificador de visibilidade e iniciar o nome do objeto com letra maiúscula
Exemplos:
Modificador de visibilidade Qualificador
private iPRquantidade
public usuario_PBativo
private empresa_PRnacional
protected funcionario_PTinformatica
jtfDFdataContratacao
IV) Exemplo de codificação utilizando o padrão de nomenclatura:
import java.util.Vector;
public class Empresa
{
private String strPRrazaoSocial;
private Funcionario[] funcionario_PRativo;
public Empresa(String strPArazaoSocial, Funcionario[] funcionario_PAativo)
{
strPRrazaoSocial = strPArazaoSocial;
funcionario_PRativo = funcionario_PAativo;
}
public String getRazaoSocial()
{
return strPRrazaoSocial;
}
public Funcionario[] gerentes()
{
Vector vctGerente = new Vector();
for (int i = 0; i < funcionario_PRativo.length; i++)
{
if (funcionario_PRativo[i].isGerente())
{
vctGerente.add(funcionario_PRativo[i]);
}
}
Funcionario[] funcionarioGerente = new Funcionario[ vctGerente.size()];
funcionarioGerente = (Funcionario[])vctGerente.toArray(funcionarioGerente);
return funcionarioGerente ;
}
public static void main(String[] args)
{
Funcionario[] funcionario_ = new Funcionario[4];
funcionario_[0] = new Funcionario("João", true);
funcionario_[1] = new Funcionario("Maria", false);
funcionario_[2] = new Funcionario("José", true);
funcionario_[3] = new Funcionario("Pedro", false);
Empresa empresa_ = new Empresa("Cia do Software S/A", funcionario_);
Funcionario[] funcionario_Gerente = empresa_.gerentes();
System.out.println("Gerentes da "+empresa_.getRazaoSocial()+":");
for (int i = 0; i < funcionario_Gerente.length; i++)
{
System.out.println(funcionario_Gerente[i].getNome());
}
}
}
class Funcionario
{
private String strPRnome;
private boolean bPRgerente;
public Funcionario(String strPAnome, boolean bPAgerente)
{
strPRnome = strPAnome;
bPRgerente = bPAgerente;
}
public boolean isGerente()
{
return bPRgerente;
}
public String getNome()
{
return strPRnome;
}
}
|