Convenções de nomenclatura e diretrizes da Plataforma Eclipse:
org.eclipse.ant[.*] - Suporte AntOs seguintes segmentos de nome de pacote estão reservados:
org.eclipse.compare[.*] - Suporte de comparação
org.eclipse.core[.*] - Núcleo da plataforma
org.eclipse.debug[.*] - Depuração
org.eclipse.help[.*] - Suporte da Ajuda
org.eclipse.jdi[.*] - Implementação da JDI (Interface de Depuração Java) no Eclipse
org.eclipse.jdt[.*] - Ferramentas de implementação Java
org.eclipse.jface[.*] - JFace
org.eclipse.pde[.*] - Ambiente de Desenvolvimento de Plug-in
org.eclipse.search[.*] - Suporte de pesquisa
org.eclipse.swt[.*] - Toolkit Widget Padrão
org.eclipse.team[.*] - Suporte de Equipe e Versão e Configuration Management
org.eclipse.tomcat[.*] - Suporte tomcat do Apache
org.eclipse.ui[.*] - Workbench
org.eclipse.update[.*] - Atualizar/instalar
org.eclipse.webdav[.*] - Suporte do WebDAV
internal - indica um pacote de implementação interno que não contém APIEsses nomes são usados como qualificadores e só devem aparecer após o nome do pacote principal. Por exemplo:
tests - indica um pacote não-API que contém somente conjuntos de testes
examples - indica um pacote não-API que contém somente exemplos
org.eclipse.core.internal.resources - Uso corretoIndependentemente da estruturação da Plataforma Eclipse, a Plataforma Eclipse é dividida em Núcleo e UI. Tudo o que for classificado como Núcleo é independente do sistema de janelas; aplicativos e plug-ins que dependem do Núcleo e não da UI podem ser executados sem dependências. A distinção entre Núcleo e UI não se assemelha à distinção entre API e não-API; ambos, Núcleo e UI, contêm API. A parte de UI da Plataforma Eclipse é conhecida como Workbench. O Workbench é uma estrutura de UI de alto nível para construir produtos com UIs sofisticadas construídas de componentes de conexão. O Workbench é construído sobre o JFace, SWT e o Núcleo da Plataforma. SWT (Standard Widget Toolkit) é um meio em nível inferior, um meio de comunicação independente da plataforma do sistema operacional com o sistema nativo de janelas. O JFace é uma estrutura da UI de nível médio útil para criar partes da UI complexas, como visualizadores de propriedades. SWT e JFace são UI por definição. A ferramenta Java é um IDE Java construído sobre o workbench. Fim parcial.
org.eclipse.internal.core.resources - Incorreto. internal precede o nome principal do pacote .
org.eclipse.core.resources.internal - Incorreto. internal não segue imediatamente o nome principal do pacote.
Pacotes API Os pacotes API são aqueles que contêm classes e interfaces que devem estar disponíveis para ISVs. É necessário que os nomes dos pacotes API façam sentido para o ISV. O número de pacotes diferentes que o ISV precisa lembrar deve ser pequeno, uma vez que uma profusão de pacotes API pode tornar difícil para os ISVs saberem quais pacotes precisam importar. Dentro de um pacote API, todas as classes públicas e interfaces são consideradas API. Os nomes dos pacotes API não devem conter internal, tests, ou examples para evitar confusão com os esquemas de nomenclatura de pacotes não-API.
Pacotes de Implementação Interna Todos os pacotes que fazem parte da implementação da plataforma, mas não contém API a ser exposta aos ISVs, são considerados pacotes de implementação interna. Todos os pacotes de implementação devem ser sinalizados como internal, com a marcação ocorrendo exatamente depois do nome principal do pacote. ISVs será informado que todos os pacotes marcados como internal estão fora dos limites. (Uma pesquisa de texto simples de ".internal." detecta referências suspeitas nos arquivos fonte; do mesmo modo, "/internal/" é suspeito em arquivos .class).
Pacotes de Conjuntos de Teste Todos os pacotes que contêm conjuntos de teste devem ser sinalizados como tests, com a marcação ocorrendo exatamente depois do nome principal do pacote. Os testes completamente automatizados são a regra; então, por exemplo, org.eclipse.core.tests.resources deve conter testes automatizados para API em org.eclipse.core.resources. Testes interativos (que exigem um testador prático) devem ser marcados com interactive como o último segmento do nome do pacote; assim, por exemplo, org.eclipse.core.tests.resources.interactive deveria conter os testes interativos correspondentes.
Pacotes de Exemplos Todos os pacotes contendo exemplos que são enviados para ISVs devem ser definidos como examples, com a marcação ocorrendo exatamente depois do nome principal do pacote. Por exemplo, org.eclipse.swt.examples deveria conter exemplos do modo de usar a API do SWT.
Regras Adicionais:
As diretrizes de nomenclatura da Sun determinam
Os nomes das classes devem ser substantivos, utilizando maiúsculas e minúsculas, com a primeira letra de cada palavra interna em maiúscula. Tente manter os nomes das classes simples e descritivos. Use palavra completas - evite acrônimos e abreviações (exceto se a abreviação for mais usada do que o termo por extenso, como URL ou HTML).
Exemplos:
classe Raster;
classe ImageSprite;
Os nomes de interface devem ser escritos com letra maiúscula como os nomes das classes.
Para os nomes de interface, seguimos a convenção "I" para interface: todos os nomes de interface contêm o prefixo "I". Por exemplo, "IWorkspace" ou "IIndex". Essa convenção ajuda a leitura dos códigos tornando os nomes de interface mais facilmente reconhecidos. (As interfaces Microsoft COM fazem uso dessa convenção).
Regras Adicionais:
As diretrizes de nomenclatura da Sun determinam
Os métodos devem ser verbos, utilizando maiúsculas e minúsculas, com a primeira letra minúscula, com a primeira letra de cada palavra interna em maiúscula.Regras Adicionais:
Exemplos:
executar();
runFast();
getBackground();
As diretrizes de nomenclatura da Sun determinam
Exceto para variáveis, todas as ocorrências, classes e constantes de classe utilizam maiúsculas e minúsculas, com a primeira letra em minúscula. Palavras internas começam com letras maiúsculas. Os nomes de variáveis não devem começar com sublinhado _ ou símbolo de moedas $ , embora ambos sejam permitidos.
Os nomes de variáveis devem ser pequenos mas com sentido. A escolha do nome da variável deve ser mnemônica - ou seja, projetada para indicar a um observador ocasional o objetivo do seu uso. Os nomes de variáveis com um caracter devem ser evitados, exceto para variáveis temporárias "descartáveis". Nomes comuns para variáveis temporárias são i, j, k, m ; n para números inteiros; c, d e e para caracteres.
Exemplos:
int i;
char c;
float myWidth;
(Nota: não estamos mais seguindo a convenção que prefixa os nomes de campos não constantes com "f", como "fWidget".)
As diretrizes de nomenclatura da Sun determinam
Os nomes de constantes de classes declaradas variáveis e de constantes ANSI devem ser todos em letras maiúsculas, com as palavras separadas por sublinhados ("_").
Exemplos:
static final int MIN_WIDTH = 4;
static final int MAX_WIDTH = 999;
static final int GET_THE_CPU = 1;
Todos os plug-ins, inclusive os que fazem parte da Plataforma Eclipse, como os plug-ins Recursos e Ambientes de Trabalho, devem ter identificadores exclusivos seguindo o mesmo padrão de nomenclatura dos pacotes Java. Por exemplo, os plug-ins do workbench são chamados org.eclipse.ui[.*].
O espaço de nomes do plug-in é gerenciado hierarquicamente; não crie um plug-in sem a aprovação prévia do proprietário do espaço de nomes envolvido.
Pontos de extensão que esperam extensões múltiplas devem ter nomes no plural. Por exemplo, "builders" em vez de "builder".