CONVENÇÃO DE CÓDIGO JAVA



Documentos relacionados
CURSO DE PROGRAMAÇÃO EM JAVA

Lógica de Programação

Projeto de Software Orientado a Objeto

MANUAL DE NORMAS PARA DESENVOLVIMENTO DE CÓDIGO DA FÁBRICA VIRTUAL DE SOFTWARE DA FIPP. Curso Superior de Tecnologia em Sistemas para Internet 2/2014

Aula 2. Objetivos Conceitos; Instalação do Text Pad; Entendendo o código java do AloMundo1 Codificação do AloMundo2,AloMundo3 e AloMundo4.

2. OPERADORES ALGORITMOS, FLUXOGRAMAS E PROGRAMAS FUNÇÕES... 10

Orientação a Objetos

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

Criar a classe Aula.java com o seguinte código: Compilar e Executar

Criando documentação com javadoc

Documentação Usando o Javadoc

Tópicos em Engenharia de Computação

INTRODUÇÃO 12. DOCUMENTAÇÃO INTRODUÇÃO INTRODUÇÃO

Java Como Programar, 8/E

OPERADORES E ESTRUTURAS DE CONTROLE

Algoritmos com VisuAlg

ATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

2 Orientação a objetos na prática

Aluísio Eustáquio da Silva

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

Instruções para Submissão de Trabalhos ao EPETUSP 2013

POO Programação Orientada a Objetos. Classes em Java

Resumo da Matéria de Linguagem de Programação. Linguagem C

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

Algoritmos e Programação Estruturada

Título do trabalho: subtítulo do trabalho

FBV - Linguagem de Programação II. Um pouco sobre Java

Manual do usuário. v1.0

Sintaxe Básica de Java Parte 1

1) Botão "Ler Versão": apresenta a versão do firmware do leitor de cartões acoplado;

TÉCNICAS DE PROGRAMAÇÃO

Orientação a Objetos

Guia de Fatores de Qualidade de OO e Java

Capítulo 4. Packages e interfaces

IFTO LÓGICA DE PROGRAMAÇÃO AULA 02

Objetivos: Sun recomenda que utilize o nome de domínio da Internet da empresa, para garantir um nome de pacote único

Introdução a Java. Hélder Nunes

2 echo "PHP e outros.";

Status. Barra de Título. Barra de Menu. Barra de. Ferramentas Padrão. Caixa de nomes. Barra de. Ferramentas de Formatação. Indicadores de Coluna

1. Apresentação Objetivos

NOVIDADES DO JAVA PARA PROGRAMADORES C

Tutorial de Matlab Francesco Franco

3 Classes e instanciação de objectos (em Java)

COLÉGIO ESTADUAL PAULO LEMINSKI APOSTILA SOBRE O BROFFICE IMPRESS

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Geração de código intermediário. Novembro 2006

Programação de Computadores - I. Profª Beatriz Profº Israel

Tutorial Plone 4. Manutenção de Sites. Universidade Federal de São Carlos Departamento de Sistemas Web Todos os direitos reservados

Especificação do 3º Trabalho

Componentes da linguagem C++

Introdução aos cálculos de datas

Java. Marcio de Carvalho Victorino

Este relatório tem por objetivo, abordar a sintaxe XML.

Feature-Driven Development

Guia rápido de uso de Web Services do NFS-e Easy

Programação Funcional. Capítulo 13. Mônadas. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2013.

Software R - introdução

JSP - ORIENTADO A OBJETOS

02 - Usando o SiteMaster - Informações importantes

Exercícios de Revisão Java Básico

Rogério Fernandes da Costa

ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.

FACULDADE LEÃO SAMPAIO CURSO DE GRADUAÇÃO EM ENFERMAGEM IX SEMANA DE ENFERMAGEM. Edital 001/2014

Este tutorial está publicado originalmente em

Algoritmos e Estrutura de Dados. Introdução a Linguagem Python (Parte I) Prof. Tiago A. E. Ferreira

Manual de instalação e configuração da Ferramenta Android SDK

Laboratório de Programação I

Linguagens de. Aula 02. Profa Cristiane Koehler

Linguagem algorítmica: Portugol

CADERNOS DE INFORMÁTICA Nº 1. Fundamentos de Informática I - Word Sumário

Ajuda ao SciEn-Produção O Artigo Científico da Pesquisa Experimental

O Processo de Programação

Voltado para novos usuários, este capítulo fornece uma instrução para edição de Leiaute do SILAS e suas funções.

Roteiro 7: Ferramentas de trabalho Editores de texto

Lista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição

Desenvolvendo Websites com PHP

INTRODUÇÃO À TECNOLOGIA SERVLETS

Modelo para Documento de. Especificação de Requisitos de Software

JavaScript (ou JScript)

II SEMANA AMBIENTAL DA UNICESUMAR NORMAS PARA ENVIO DOS TRABALHOS

Implementando uma Classe e Criando Objetos a partir dela

INTRODUÇÃO AO JAVA PARA PROGRAMADORES C

Programação de Computadores - I. Profª Beatriz Profº Israel

BSI UFRPE Prof. Gustavo Callou

18/04/2006 Micropagamento F2b Web Services Web rev 00

AULA Uma linguagem de programação orientada a objetos

Controle do Arquivo Técnico

Linguagem C: Estruturas de Controle. Prof. Leonardo Barreto Campos 1

Linguagem de Programação. Introdução ao PHP. Prof Mauricio Lederer Ciência da Computação - UNIANDRADE 1

Padrões de Editoração

8 Classes Internas. Desenvolvimento OO com Java. Vítor E. Silva Souza

Transcrição:

CONVENÇÃO DE CÓDIGO JAVA Eligiane Ceron - Abril de 2012 Versão 1.0 Conteúdo Considerações iniciais... 2 Introdução... 2 Extensão de arquivos... 2 Arquivos de código Java... 2 Comentários iniciais... 2 Declarações de pacotes e importações... 2 Declaração da classe/interface... 3 Identation (recuo) de código... 3 Quebras de linha... 3 Sobre comentários... 4 Comentários de implementação... 5 Comentários de documentação... 6 Declarações... 6 Espaços em branco... 6 Linhas em branco... 6 Espaços em branco... 6 Convenções de Nomenclatura... 7 REFERÊNCIAS... 7

Considerações iniciais Este texto é uma tradução adaptada da convenção de código Java publicada pela Sun e mantida pela Oracle. Você pode ler o material original no link que se encontra no tópico Referências. Introdução A padronização de código é conveniente devido a vários aspectos. Segundo estatísticas, cerca de 80% do tempo gasto com desenvolvimento de software é referente à manutenção do sistema. E dificilmente os softwares desenvolvidos são mantidos pelos seus autores. A padronização ajuda a deixar o código mais legível, facilitando assim o entendimento do mesmo por parte de novos integrantes da equipe de desenvolvimento. Extensão de arquivos Os softwares java usam dois tipos de arquivos: os arquivos de código, que recebem a extensão.java e os bytecodes que recebem a extensão.class. O bytecode é gerado pelo compilador Java. Arquivos de código Java Um arquivo Java é composto por seções que devem ser separadas por linhas em branco, podendo utilizar também comentários para identificar cada uma. Cada arquivo de código java deve conter uma única classe ou interface pública. Arquivos com mais de duas mil linhas de código devem ser evitados, pois ficam muito pesados. A organização básica de um arquivo de código Java deve obedecer à seguinte ordem: 1. Comentários iniciais 2. Declarações de pacotes e importações 3. Declaração da classe/interface Comentários iniciais Todo arquivo de código deve iniciar com comentários de início, que devem conter informações a respeito da classe/interface, como por exemplo, nome da classe, informações de versão, data e autor. /** * Nome da classe * * @version v 2.0 Janeiro/2012 * @author CERON, Eligiane */ Declarações de pacotes e importações A primeira linha de código após os comentários iniciais deve ser a declaração do pacote (se necessário), e em sequência as declarações de importações.

package pacote1; import java.util.scanner; import java.util.arraylist; Declaração da classe/interface A tabela abaixo mostra cada parte de uma classe/interface, na ordem em que elas devem aparecer. 1 Comentário de documentação Observações (/**... */) 2 Declaração da classe/interface 3 Comentários de implementação da classe (/*... */) Se necessário aqui pode ser inserido algum comentário a respeito da classe 4 Atributos estáticos Inicialmente os públicos, depois os protegidos e por último os privados 5 Demais atributos Inicialmente os públicos, depois os protegidos e por último os privados 6 Construtores 7 Demais métodos Agrupe os métodos por funcionalidade, exemplo: getters, setters, métodos de validação, métodos de cálculos, etc. Identation (recuo) de código Os recuos são utilizados para alinhar visualmente comandos pertencentes a blocos de código. Um bloco é o código envolvido pelos delimitadores { e, como por exemplo o if. A regra geral é abrir o bloco na linha do comando e fechar alinhado a ele. if (condicao){ //comandos else{ //comandos Normalmente se utiliza 4 espaços como medida padrão da tabulação, porém algumas vezes é necessário utilizar 8 espaços para obter uma visualização melhor do código. Devem ser evitadas linhas com mais de 80 caracteres. Quebras de linha Quando uma expressão não couber numa única linha, quebrá-la de acordo com as seguintes regras básicas: Após uma vírgula Antes de um operador Alinhar a nova linha com o início da expressão da linha anterior Se as regras acima gerarem código confuso, ou se a linha de baixo ficar colada na margem, use uma tabulação de 8 espaços.

Alguns exemplos de quebra de linha numa chamada de método: executarmetodo(parametro1, parametro2, parametro3, parametro4, parametro5);//usando 8 espaços int res = executarmetodo(parametro1, parametro2, parametro3, parametro4, paramentro5); //alinhando com o inicio da expressão anterior Exemplo de quebra de linha numa expressão aritmética: double res = valor1 * (valor2 + valor3) + valor4 / valor5; Para inserir quebras de linha em condições nos ifs, por exemplo, cuide para não alinhar as condições com os comandos, pois eles se misturariam visualmente e tornaria ruim a leitura do código. Exemplo 1: EVITAR if(condicao1 && condicao2 condicao3 && condicao4){ executaralgo(); Exemplo 2: PREFIRA if(condicao1 && condicao2 condicao3 && condicao4){ executaralgo(); Sobre comentários Programas desenvolvidos em Java podem ter dois tipos de comentários: comentários de implementação e comentários de documentação. Os comentários de implementação são os mesmo da linguagem C++, que são delimitados por /*... */, e //. Os comentários de documentação (conhecido como "comentários doc") são Java-only, e são delimitados por / **... * /. Comentários de documentação podem ser extraídos para arquivos HTML usando a ferramenta javadoc. Comentários de implementação são aqueles destinados a comentar o código ou a aplicação em si. Comentários de documentação são destinadas a descrever a especificação do código, a partir de uma perspectiva de implementação livre, para ser lido por desenvolvedores que não necessariamente possuem o código fonte em mãos. Os comentários devem ser usados para dar uma visão geral do código e fornecer informações adicionais que não está prontamente claro no próprio código. Eles devem conter apenas informações relevantes para a leitura e compreensão do programa. Por exemplo, informações sobre como o pacote correspondente é construído ou em qual diretório ele reside não deve ser incluído como um comentário.

Comentários de implementação Há quatro possíveis formatos de comentário de implementação: bloco, linha, à direita e no fim da linha. Os comentários de bloco são utilizados para descrever arquivos de código, métodos ou algum algoritmo dentro de um método. Procure sempre inserir uma linha em branco antes do bloco de comentários. Exemplo de comentário de bloco: / * * Aqui está um comentário de bloco. * / Os comentários de linha são para comentários curtos, e devem ser precedidos com uma linha em branco, assim como o comentário de bloco. if (condicao){ /* comentários */ executaralgo(); Comentários muito curtos podem aparecer na mesma linha do código que descrevem, mas devem ser deslocados o suficiente para separá-los das declarações. Se mais de um breve comentário aparecer em um pedaço de código, todos eles deverão ser recuados de modo a se alinharem. if (condicao) { return valor1; /* comentário 1*/ else { return outrovalor; /* comentário 2 */ O delimitador de comentário // pode servir para comentar toda uma linha ou apenas parte dela. Evite utilizá-los quando muitas linhas de comentário são necessárias (prefira o delimitador de bloco). No entando, ele pode ser utilizado em várias linhas para comentar ou anular um trecho de código. if (condicao) { // comentário.... else { return false; // Explicação aqui. //if (condicao2) {

// // return... // //else { // return false; // Comentários de documentação Os comentários de documentação possuem regras específicas e serão abordados em um próximo artigo. Declarações Ao declarar variáveis, observe as seguintes regras: Faça apenas uma declaração por linha, de modo a incentivar o uso de comentários Inicialize apenas uma variável por linha Use letras minúsculas e evite caracteres especiais. Espaços em branco Linhas em branco A função das linhas em branco é prover maior legibilidade de código e organização. Utilize duas linhas em branco para separar seções em um arquivo fonte e entre definições de classe e interfaces. Use uma linha em branco entre métodos, após declarar variáveis, antes de um bloco ou linha de comentário ou mesmo dentro de um bloco de código para separar comandos em comum. Espaços em branco Sempre que uma palavra reservada da linguagem for seguida de parênteses, deve conter um espaço separando-os. while (condição){ //comandos Não utilize espaço entre um método e seus parênteses: public void executaralgo(){... Use um espaço em branco após a vírgula numa lista de argumentos e nas expressões aritméticas utilize um espaço em branco para separar operandos de seus operadores. a = b + c; //ok! a=b+c; //evitar! Separe também operadores relacionais das condições if(condicao1 && condicao2){

Convenções de Nomenclatura Pacotes Letras minúsculas sem caracteres especiais gui Classes e interfaces Métodos Variáveis Os nomes de classe devem ser substantivos, com a primeira letra de cada palavra interna em maiúscula. Tente manter seus nomes de classe simples e descritivos. Evite siglas e abreviações (a menos que a sigla seja muito mais usada do que a forma longa, como a URL ou HTML). Métodos devem ser verbos, em maiúsculas e minúsculas com a primeira letra minúscula, com a primeira letra de cada palavra interna em maiúscula. Devem iniciar com minúscula. Palavras internas começam com letras maiúsculas. Não deve começar com underline ou $, mesmo que ambos sejam permitidos. class Pessoa class ContaCorrente calcularalgo() idade nomecompleto Constantes Use nomes curtos, mas significativos. O nome deve indicar a intenção da utilização da variável. Os nomes comuns para variáveis temporárias são i, j, k, m, n e para inteiros, c, d, e e para caracteres. Constantes devem ter todas as letras maiúsculas separadas por underline MAX_SIZE VALOR_PADRAO REFERÊNCIAS ORACLE. CodeConventions for the Java TM ProgrammingLanguage. 1999. Disponível em: http://www.oracle.com/technetwork/java/codeconvtoc-136057.html ORACLE. Java SE Specifications. 2012. Disponível em <http://docs.oracle.com/javase/specs/>