Wiki

Convenção desenvolvedor/Convenção código/Organização de arquivos

Organização de arquivos #

Um arquivo consiste de seções que devem ser separadas por linhas em branco e um comentário opcional identificando cada seção.

Arquivos maiores que 2.000 linhas são “inconvenientes” ou “deselegantes” e devem ser evitados.

Arquivos de fontes do Java #

Cada arquivo fonte Java contém uma única classe pública ou uma interface. Quando classes privadas e interfaces são associadas a uma classe pública, você poderá colocá-las em um mesmo arquivo fonte. A classe pública ou a interface deverá ser a primeira no arquivo.

Arquivos fontes Java possuem a seguinte ordem:

  • comentários iniciais (opcional);
  • instruções de pacotes e importações;
  • declarações de classes e interfaces.

Comentários iniciais #

Todos os arquivos fontes deverão começar com um comentário estilo linguagem C que lista o nome da classe, versão e notas de direitos autorais.

No caso específico do Demoiselle, os arquivos com extensão .java (fonte Java) e outros arquivos próprios do projeto (.xml, .properties, etc...) devem ser iniciados com o texto a seguir:

 Demoiselle Framework
 Copyright (C) 2012 SERPRO
 ----------------------------------------------------------------------------
 This file is part of Demoiselle Framework.*
 Demoiselle Framework is free software; you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public License version 3
 as published by the Free Software Foundation.*
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 GNU General Public License for more details.*
 You should have received a copy of the GNU Lesser General Public License version 3
 along with this program; if not, see http://www.gnu.org/licenses/
 or write to the Free Software Foundation, Inc., 51 Franklin Street,
 Fifth Floor, Boston, MA 02110-1301, USA.
 ----------------------------------------------------------------------------
 Este arquivo é parte do Framework Demoiselle.*
 O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou
 modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação
 do Software Livre (FSF).*
 Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA
 GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou
 APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português
 para maiores detalhes.*
 Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título
 "LICENCA.txt", junto com esse programa. Se não, acesse http://www.gnu.org/licenses/
 ou escreva para a Fundação do Software Livre (FSF) Inc.,
 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA.

Note que o ano deve ser preenchido de acordo com a data atual (“2012” no exemplo citado). Recomenda-se a configuração prévia do ambiente integrado de desenvolvimento (IDE) para a inclusão automatizada deste texto durante a criação de novo arquivo de fonte.

Instruções de pacote e importações #

A primeira linha sem comentários na maioria dos arquivos de fontes Java é uma instrução de definição do pacote (i.e. package). Depois disso seguem as instruções de importações (i.e. import). Por exemplo:

package br.gov.frameworkdemoiselle.stereotype;

import br.gov.frameworkdemoiselle.stereotype.BusinessController;
import br.gov.frameworkdemoiselle.stereotype.ViewController;

Declarações de classe, interface, enumeração e anotação #

A tabela seguinte descreve as partes existentes na declaração de uma classe, interface, enumeração ou anotação na ordem em que as primeiras devem aparecer.

### Parte da declaração Observações
1 - Comentários iniciais de documentação (/../) Deve conter uma descrição simplificada do componente, no formato de Javadoc.
2 - Palavra-chave class, interface,@interface ou enum Nesta linha deverão aparecer as palavras chave extends e ou implements que definem a hierarquia do componente.
3 - Variáveis de classe (static) Primeiramente as variáveis públicas (public) da classe, então as protegidas (protected) e finalmente as privadas (private).
4 - Variáveis de instância (atributos) Primeiro variáveis public, então protected e finalmente private.
5 - Inicializações estáticas Este código será executado apenas uma vez durante o carregamento da classe pela Máquina Virtual do Java.
6 - Métodos construtores Primeiro o construtor padrão (se existente), e em seguida os demais construtores na ordem de complexidade destes (i.e. quantidade de argumentos).
7 - Métodos convencionais Os métodos devem ser agrupados pela funcionalidade de preferência pelo escopo ou acessibilidade.Por exemplo,um método privado de uma classe pode estar entre duas instâncias de métodos públicos.O objetivo é tornar a leitura e o entendimento do código algo simples.
8 - Classes internas (inner classes) Declaração das classes internas.
0 Anexos
3663 Visualizações
Média (0 Votos)
A média da avaliação é 0.0 estrelas de 5.
Comentários
Sem comentários ainda. Seja o primeiro.