Idiomas de Programação

Documentos relacionados
Engenharia de Software Aula 21. Revisão da Prova 2. Eduardo Figueiredo.

Implementando um Projeto. Programação em Java. Do Projeto para Implementação. Classe Pública em Java. Corpo de Classes e Métodos. Convenção de Nomes

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis

PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO

CIÊNCIA DA COMPUTAÇÃO - LINGUAGEM DE PROGRAMAÇÃO II REVISÃO POO

Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }

Linguagem de Programação II Implementação

Encapsulamento e Métodos (Construtores e Estáticos) João Paulo Q. dos Santos

Análise de Programação

Fundamentos da programação Parte - 1

Instituto Politécnico de Setúbal. Escola Superior de Tecnologia. Departamento de Sistemas e Informática. Guia para codificação em JAVA

Java e sua Sintaxe. Estrutura mínima de um programa em Java: public class Exemplo { }

Variáveis primitivas e Controle de fluxo

Linguagem de Programação III

Linguagem de programação métodos/funções

Padrão para Códigos Java

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Classes e Objetos em Java. Algoritmos e Programação I. Classes. Classes. Modificadores de Acesso. Classes. Revisão

Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga

Classes e Objetos. Prof. Fernando V. Paulovich 9 de agosto de 2010

Aula 4 Estruturas de Controle

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:

Uma Questão de Estilo Elementos de Estilo Java

DCC / ICEx / UFMG. Membros de Classes. Eduardo Figueiredo.

Tipos, Literais, Operadores

Tipos, Literais, Operadores

Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Lista de Exercícios para a Terceira Unidade

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura

Seleção Múltipla Laços (while, do-while, for) AULA 05

Classes e Objetos. Sintaxe de classe em Java

Linguagem de Programação II Implementação

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos

Prof. A. G. Silva. 28 de agosto de Prof. A. G. Silva INE5603 Introdução à POO 28 de agosto de / 1

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

Programação Orientada a Objetos II

Programação Orientada a Objetos

Programação Orientada a Objetos II Java Segunda aula. Prof. Rogério Albuquerque de Almeida

Estruturas de Controle

Programação Orientada a Objetos SANTOS, Rafael (PLT)

Aula 03 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Comando de Seleção em Java

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

Linguagem de Programação Orientada a Objeto Abstração - Encapsulamento

Introdução. Atributos em Java. Atributos. Acesso à atributos em Java. Atributo versus variável. Atributos, métodos e encapsulamento.

A programação orientada a objetos tenta simular estes aspectos, trazendo para o computador a realidade do dia-a-dia.

Aula 4 Sumário Classes e Objetos Variáveis de instância, construtores e métodos Programas de teste

Programação Orientada a Objetos. Métodos e Atributos. Métodos. Métodos. Alexandre César Muniz de Oliveira. Parte III

1 Introdução e Conceitos básicos

Linguagem de Programação. Diagrama de classes

PROGRAMAÇÃO JAVA. Parte 3

Métodos em Java. Prof. Esp. André Aparecido da Silva (Aulas 31 a 33) Disponível em:

Dados armazenados em um objeto podem ser tanto primitivos, tais como inteiros ou caracteres, ou referências para outros objetos.

Programação I PRG Engenharia de Telecomunicações 2ª Fase Professor: Cleber Jorge Amaral

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

Introdução. Universidade Federal de Uberlândia. Programação Orientada a Objetos. Prof. Fabiano Dorça

Estruturas de controle Parte 1

Programação Estruturada e Orientada a Objetos

Java Standard Edition (JSE)

Programação Orientada a Objetos

Linguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos

PROGRAMAÇÃO I INTRODUÇÃO À ORIENTAÇÃO A OBJETOS II

Palavras Reservadas da Linguagem Java

Diagramas Sintáticos

Interfaces. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno.

JUnit. Alexandre Menezes Silva Eduardo Manuel de Freitas Jorge

Módulo 5. Programação Orientada a Objetos. Programação Orientada a Objetos I Java (Rone Ilídio)

Exercício de Estrutura de dados. Java Fila

Sintaxe Básica de Java Parte 2

Aula 5 POO 1 Encapsulamento. Profa. Elaine Faria UFU

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS

CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO

3. Linguagem de Programação C

Estrutura de Dados. Introduc a o e Alocac a o de Memo ria. Vilson Heck Junior. Instituto Federal de Santa Catarina

Fundamentos de programação

Notas de Aula 03: Organização por Pacotes e Encapsulamento. c

Unidade 3: Estruturas de Controle Parte 2 - Lógica, SWITCH, FOR, WHILE e DO WHILE Prof. Daniel Caetano

O objetivo aqui é criar um sistema para gerenciar os funcionários do Banco.

Módulo 9 VARIÁVEIS, TIPOS DE DADOS, OPERADORES, ESTRUTURAS DE CONTROLO P S I C P T G P S I

Java Standard Edition (JSE)

Revisão Linguagem C Parte 1

Java Básico. Carga Horária: 32 horas. Pré-requisito: Lógica de Programação; JAVA. Conteúdo Programático

Aula 08 Encapsulamento. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes

CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA A F B G C H D I

Cerne. Conhecimento para o Desenvolvimento (21) (11) MSN:

Regras de Estilo para Programação em Java TM

AspectJ. AspectJ. Extensões de AspectJ. Pontos de Junção. Exemplos de Pontos de Junção. Modelo de Pontos de Junção

LÓGICA DE PROGRAMAÇÃO (JAVA) ESTRUTURAS REPETIÇÃO. Professor Carlos Muniz

Sabemos que a classe é responsável por definir a estrutura e o comportamento de seus objetos. Portanto, os objetos são instâncias das classes.

Tipos de dados e comandos POO

Programação I Curso: Sistemas de Informação. Prof.: José Ronaldo Leles Júnior .:

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Instituto de Informática Estrutura de Dados II

Conceitos básicos de programação

Linguagem de programação Programação Orientada a objetos

Noçõ linguagem Java. Profs. Marcel Hugo e Jomi Fred Hübner. Departamento de Sistemas e Computação Universidade Regional de Blumenau - FURB

Encapsulamento. Alberto Costa Neto DComp - UFS

Transcrição:

DCC / ICEx / UFMG Idiomas de Programação Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo

Definição de Idiomas Idiomas são padrões de baixo nível específicos de uma linguagem de programação Cada idioma descreve como resolver um problema de programação em uma determinada linguagem Idiomas facilitam a comunicação entre programadores Aceleram o desenvolvimento Facilitam atividades de manutenção

Idiomas e Estilos Um conjunto de idiomas definem um estilo de programação O estilo de programação é definido pela forma como são usadas as construções da linguagem Exemplos de idiomas A forma como os loops são usados O formato de nomes A formatação do código fonte

DCC / ICEx / UFMG Idiomas em Java Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo

Idioma e Recomendação Muitos dos idiomas são, na verdade, recomendação sobre o uso de construções da linguagem Outros idiomas dizem como implementar um padrão de projeto usando uma linguagem Exemplo: como implementar o padrão Adapter em Java

Uma Classe por Arquivo Deve-se declarar uma única classe por arquivo Java A única classe do arquivo deve ser pública para que outras classes tenham acesso Exemplo public class Carro { String cor; Arquivo Carro.java int velocidadeatual; 1 void acelerar() { void frear() {

O Método Main 3 Deve-se colocar o método main() em uma classe separada Apenas código de iniciação do sistema deve estar na classe que contém o método main() Exemplo public class TesteCarro { public static void main(string[] args) {... 2

Ocultando Atributos 5 Atributos devem ser privados ou protegidos Métodos get e set devem ser usados por outras classes para acessar os atributos public class Carro { private String cor; protected int velocidadeatual = 0; public void acelerar() {... public void frear() {... public void setcor(string novacor) { cor = novacor; 4 public String getcor() { return cor;

Exemplo: Carro public class Carro { private String cor; protected int velocidadeatual = 0; public void acelerar() { velocidadeatual++; public void frear() { velocidadeatual--; public class CarroTeste { public static void main(string[] args) { Carro meucarro = new Carro(); meucarro.setcor("preto"); System.out.println(meuCarro); CarroTeste.java public void setcor(string novacor) { cor = novacor; public String getcor() { return cor; public String tostring() { return "Carro " + cor + " : " + velocidadeatual; Carro.java

Convenção de Nomes 6 7 8 Deve-se usar camel case em nomes de classes, métodos e atributos Nome de classes deve ser um substantivo e iniciar com letra maiúscula Nome de métodos deve ser um verbo e iniciar com letra minúscula Nome de atributos deve ser um adjetivo ou substantivo e iniciar com letra minúscula

Indentação e Comentários Evidencie o aninhamento de estruturas por meio de indentação 9 10 Separar por uma linha em branco a primeira linha de um bloco de comentários da última linha do bloco de comandos que o antecede Comentários devem se referir ao código que segue 11

Exemplo: Carro2 9 public class Carro2 { public static final int LIMITE = 150; protected int velocidadeatual = 0; public void acelerar() { velocidadeatual++; 10 linha em branco // Testar o limite de velocidade do carro. if (velocidadeatual > LIMITE) { System.out.println("Bib bib bib."); velocidadeatual = LIMITE; 11 comentário public void frear() { if (velocidadeatual > 0) velocidadeatual--;

Reduzir Escopo Utilize blocos aninhados para declarar variáveis locais de modo que tenham o menor escopo possível Blocos aninhados também são úteis para delimitar a região de um comentário 12

Exemplo: Carro3 public class Carro3 { public static final int LIMITE = 150; protected int velocidadeatual = 0; public void acelerar() { velocidadeatual++; { String alerta = "Bib."; if (velocidadeatual == LIMITE) System.out.println(alerta); 12 bloco aninhado // Testar o limite de velocidade do carro. if (velocidadeatual > LIMITE) { velocidadeatual = LIMITE;...

Declarações 13 Evite nomear variáveis locais com o mesmo nome de variáveis globais Ou com nomes de métodos da classe Sempre que possível, declare e inicialize as variáveis em um mesmo comando 14

Expressões Evite o uso de operador ternário? quando uma das expressões contiver mais de um operador Neste caso, use o comando if 15 public void fear() { velocidadeatual = ( velocidadeatual < 0)? ( velocidadeatual == MIN? STOPPED : velocidadeatual - min() ) : velocidadeatual - desacelerar();

Switch Case Mantenha curto o código de cada case de um switch Em torno de 5 linhas Código longo deve ser extraído para um método Sempre termine o case com um comando break 16 17

Default de um Switch Sempre inclua uma opção default nas estruturas switch 18 O default deve capturar somente as condições não previstas pelos case 19

Repetições Não crie variáveis temporárias apenas para término de uma repetição Use o comando break para sair de um laço de repetição antes da condição de saída ser atingida Use o comando return para testar imediatamente a condição de saída 20

Expressões Evite expressões lógicas complexas como condição de um if Particione-as em vários comandos if aninhados 21 Todos os blocos { vazios devem receber um comentário indicando que estão propositalmente vazios 22

Bibliografia F. Buschmann et al. Pattern-Oriented Software Architecture: A System of Patterns. John Wiley & Sons, 1996. Cap. 4 Idioms A. von Staa. Programação Modular. Elsevier, 2000. Apêndices 3, 4 e 5