Conteúdo


Mais sobre codificação Java mais rápida no Eclipse Galileo

Usando modelos do código

Comments

Os problemas

Independentemente do tamanho do projeto ou da equipe, dois problemas ocorrem quando se edita a base do código:

  • Falta de consistência— Quando muitas pessoas em uma equipe editam arquivos, pequenas diferenças na codificação podem surgir e tornar o código mais difícil de entender e manter. Será mais difícil de pesquisar ocorrências de código se elas forem diferentes. Mesmo se você trabalhar sozinho, diferenças poderão ocorrer de um dia para o outro se você tiver esquecido como escreveu uma parte do código.
  • Falta de produtividade— Poupar pressionamentos de tecla economiza tempo porque a digitação é o principal da edição de código. Seções maiores de código podem levar algum tempo para serem digitadas ou até mesmo copiadas, e mudam para se ajustar ao contexto atual.

Antes dos modelos, uma forma manual, mas comum, de eliminar as lacunas de consistência e produtividade era copiar e colar. Pesquise em sua base de código existente — ou na Internet — e copie o código que está mais próximo do que deseja fazer. Em seguida, altere as partes que se aplicam ao seu aplicativo.

A solução: usando modelos

Os modelos no Eclipse são listagens predefinidas de código que contêm uma seção de código que não muda entre os usos. Por exemplo, um loop for no código Java™ é construído da mesma forma, não importa onde usado, exceto a condição inside ou as variáveis para a mudança de loop. Um modelo contém as partes que permanecem as mesmas e usa variáveis para as partes que mudam.

Usar modelos no Eclipse é uma excelente forma de resolver problemas de consistência e produtividade. Com um modelo, é possível escrever o código uma vez e usá-lo em todo o aplicativo com confiança. Ou não se pode nem mesmo pensar nisso, que é também o ponto.

Este artigo explica como:

  • Chamar modelos
  • Editar modelos
  • Criar modelos
  • Aproveitar a vantagem de variáveis em modelos
  • Exportar modelos
  • Importar modelos

Chamando um modelo

Chamar um modelo é fácil. Ao digitar no editor, comece a digitar o nome do modelo e use Ctrl+Espaço para chamar a conclusão do código. Os modelos com nomes que correspondem ao que você digitou aparecem na lista (veja a Figura 1).

Figura 1. Selecionando o modelo na lista
Figure 1 shows that the templates with names that match what you typed appear in the list
Figure 1 shows that the templates with names that match what you typed appear in the list

Se você pressionar Ctrl+Espaço novamente, o Eclipse continuará alternando entre os tipos de modelos.

Para inserir um modelo, use as teclas de seta para selecionar o modelo na lista e pressione Enter. Como alternativa, é possível usar o mouse para clicar duas vezes no nome do modelo na lista.

Quando o modelo é inserido, você tem uma chance de digitar os valores para as variáveis. Use a tecla Tab para mover de variável para variável.

Editando um modelo

Para editar um modelo, abra as preferências do Eclipse selecionando Window > Preferences. Vá até Java > Editor > Templates para ver os modelos existentes. Para editar um modelo existente, clique nele na lista e clique em Edit. A janela Edit Template é exibida (veja a Figura 2).

Figura 2. Editando o modelo
Figure 2 shows that the Edit Template window appears
Figure 2 shows that the Edit Template window appears

A Tabela 1 descreve os campos na janela Edit Template.

Tabela 1. Descrições de campo da janela Edit Template
CampoDescrição
NomeO nome do modelo.
ContextoO contexto do modelo. O Eclipse limita as opções de modelo às válidas para o contexto. Por exemplo, as instruções Java não aparecem quando os arquivos XML estão sendo editados.
Inserção automáticaQuando selecionado, o Eclipse inserirá automaticamente o modelo se o nome completo do modelo for digitado, e sua inserção, chamada (por exemplo, com Ctrl+Espaço).
DescriçãoDescreve o modelo e é exibido na lista suspensa. A descrição ajuda a identificar o modelo porque o nome não precisa ser exclusivo.
PadrãoO código real inserido como modelo, incluindo todas as variáveis que devem ser resolvidas pelo Eclipse.

É possível editar os valores do modelo. Quando terminar, clique em OK. Para inserir uma variável integrada enquanto estiver editando o modelo, clique em Insert Variable. Consulte "Aproveitando as vantagens de variáveis em modelos" para saber mais sobre as variáveis disponíveis a você.

Criando um modelo

Para criar um modelo, clique em New. Edite os valores conforme explicado em "Editando um modelo" e, quando terminar, clique em OK. O novo modelo agora aparece na lista. Clique em OK quando terminar de editar os arquivos.

Aproveitando a vantagem de variáveis em modelos

Um dos maiores desafios de usar modelos é saber o que as variáveis integradas resolvem quando inseridas no código. Essas variáveis podem automaticamente inserir coisas como o nome do tipo atual, o local do cursor ou os valores selecionados. As variáveis permitem que os seus modelos sejam muito mais dinâmicos e diminuam a quantidade de alterações manuais que precisam ser feitas no modelo após ele ser inserido.

Considere o código do modelo na Listagem 1.

Listagem 1. O modelo para uma declaração de criação de log
${imp:import(java.util.logging.Logger)}
private static Logger logger = Logger.getLogger(${enclosing_type}.class.getName());

Quando inserido na classe Automobile, o código se assemelha à Listagem 2.

Listagem 2. A classe Automobile após a declaração de criação de log ser inserida
private static Logger logger = Logger.getLogger(Automobile.class.getName());

É possível ver que o nome da classe é resolvido para você. Isso é melhor do que a técnica de copiar e colar, em que é possível esquecer de atualizar o nome da classe. Como o nome de classe incorreto na declaração não lançará um erro de compilação, você provavelmente perderá a classe até procurar os logs e ficar imaginando o porquê de as instruções não estarem onde esperava que estivessem.

A instrução de importação do criador de logs é automaticamente adicionada para ele no topo da classe.

A Tabela 2 lista e descreve as variáveis integradas que acompanham o Eclipse para modelos Java.

Tabela 2. Variáveis integradas do Eclipse para modelos Java
VariávelDescriçãoExemplo
cursorColoca o cursor do editor nesse local.N/A
dateInsere a data atual.20 de outubro de 2009
dollarInsere o sinal de cifrão.$
elemTypeTenta adivinhar o tipo do elemento com o ID fornecido.MyType
enclosing_methodInsere o nome do método em que o modelo está sendo inserido.method()
enclosing_method_argumentsInsere os argumentos para o método circundante.arg1, arg2
enclosing_packageInsere o nome do pacote da classe atual.com.example.ui
enclosing_projectInsere o nome do projeto que contém a classe sendo editada.myProject
enclosing_typeInsere o nome do tipo (classe) sendo editado.MyType
exception_variable_nameInsere um nome de variável de exceção, criando um melhor palpite.e, ioe
fileO nome curto do arquivo.MyType.java
importInsere uma instrução de importação para o tipo em questão, caso já não tenha sido importado.import com.example.ui.MyOtherType
importStaticO mesmo que import, mas com importações estáticas.import static com.example.ui.MyOtherType.*
line_selectionInsere as linhas selecionadas no local. Útil para agrupar linhas com modelos.loop do, while com linhas selecionadas como corpo
primary_type_nameNome curto do arquivo sem a extensão.MyType
timeInsere a hora atual.9h09min35s
todoA tag TODO em comentários.TODO
userO nome do usuário atual.ngood
varResolve as variáveis locais, fornecendo uma lista se houver mais de uma.myvar
word_selectionInsere a palavra selecionada atualmente.N/A
yearInsere o ano atual no código.2009

Outro excelente recurso das variáveis é que você pode criar suas próprias. Elas não resolverão automaticamente nenhum valor. Entretanto, logo após o modelo ser inserido, é possível digitar valores nele. Quando você digita uma variável, o valor digitado será inserido sempre que a variável estiver presente no código. Considere o modelo na Listagem 3.

Listagem 3. Criando suas próprias variáveis
public void test${my_variable}() {
    String expected = "value";
    ${my_object}.set${my_variable}(expected);
    assertEquals("${message}", expected, ${my_object}.get${my_variable});
}

Quando o modelo é inserido, ele fica parecido com a Figura 3.

Figura 3. Inserindo automaticamente os valores
Screenshot showing automatically inserting the values
Screenshot showing automatically inserting the values

Tudo o que você precisa fazer é digitar o primeiro valor, e o restante é substituído automaticamente. Quando terminar, pressione Tab para mover para a próxima variável.

Exportando modelos

Para compartilhar os seus modelos com outros usuários, exporte-os para um arquivo. O arquivo está em um arquivo XML que contém as informações de modelo e pode ser importado em outras instâncias do Eclipse.

Para exportar um modelo, selecione-o e clique em Export. O Eclipse solicita a escolha de um local para salvar o arquivo. Quando terminar de exportar os modelos, clique em OK para fechar a janela Preferences.

Importando modelos

É possível importar os modelos de um arquivo que contém os modelos exportados. Para importar um modelo, clique em Import. O Eclipse solicita um arquivo para importação.

Após importar os modelos desejados, clique em OK. Agora é possível inserir os novos modelos no editor.

Resumo

Os modelos de código no Eclipse são uma forma de aumentar a produtividade e a consistência nos seus aplicativos. Crie modelos de códigos que possam ser usados para inserir com facilidade seções usadas com frequência no código enquanto ele está sendo editado. É possível definir variáveis no código para automaticamente inserir nomes de tipos, métodos ou até mesmo código selecionado nos modelos. Quando tiver os modelos desejados, você poderá compartilhá-los exportando-os e importando-os no Eclipse.


Recursos para download


Temas relacionados


Comentários

Acesse ou registre-se para adicionar e acompanhar os comentários.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Software livre
ArticleID=457149
ArticleTitle=Mais sobre codificação Java mais rápida no Eclipse Galileo
publish-date=12162009