ruby viviane souza (vess). roteiro teoria prática testes em ruby conclusões dúvidas

Post on 19-Apr-2015

107 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

RubyRuby

Viviane Souza (vess)

“Em vez de enfatizar o 'o quê' , eu quero enfatizar a parte do 'como': Como nos sentimos enquanto estamos programando.”

Yukihiro Matsumoto, 2003

Roteiro

Teoria Prática Testes em Ruby Conclusões Dúvidas

RubyRuby Teoria

Introdução

Linguagem de script: Interpretada; Orientada a objetos; Tipagem dinâmica e forte;

Boa API de extensões; Portável; Totalmente livre:

Não paga para usá-la; Liberdade de copiar, modificar e distribuí-

la.

História

Criada por Matz em 1993, inicialmente popular no Japão;

Busca simplicidade e concisão, para reduzir o tempo dos programadores na frente de um computador;

Agrega as melhores características das outras linguagens (na visão do seu idealizador).

Paradigma de Programação

Orientada a objeto: Tudo é objeto; Não há tipos primitivos; Não há operadores Tudo é método (o que dá grande

liberdade de modificação); Suporte a polimorfismo; Dinâmica e fortemente tipada;

Semelhanças

Perl Ortogonalidade

SmalTalk Inexistência de tipos primitivos

Python Manipulação de exceções

Utilização

Administradores de sistemas UNIX Desenvolvimento de Scripts;

Sketchup – Desenhos em 3D;

Utilização

Framework Web – Ruby on Rails: Responsável por boa parte da

divulgação de Ruby entre os programadores;

Extremamente completo; Arquitetura bem definida e acessível.

RubyGems Ferramenta para Gerenciamento de

Pacotes e Bibliotecas

Sintaxe

Estrutura Léxica - o conjunto de caracteres é baseado em ASCII: Identificadores; Comentário; Documentação embutida; Palavras chave;

Programa: É uma seqüência de expressões.

Variáveis

Globais precedidas por: $

Instâncias Precedidas por @

Locais Pseudo-variáveis

nil true False ...

Estruturas de Controle

Condicionais if...elsif...else...end case...when...else...end ...

Loops while for ...

Especificação

Documentação de Referência: Ruby Core Reference; Ruby Standard Library Reference; Ruby C API Reference;

Manuais: Programming Ruby; Ruby User’s Guide

Tutoriais “Rápidos” : Try Ruby! Ruby in Twenty Minutes

Implementação

Ruby é implementado em várias plataformas e há 3 formas principais de contato com o programador;

Interpretador Ruby: Utiliza arquivos na extensão .rb para rodar o

programa; Sintaxe Básica : ruby hello.rb;

Interactive Ruby Shell – IRB: Interpretador interativo onde o usuário executa o

programa linha a linha; JRuby:

Uma implementação em Java do Interpretador Ruby. Muito usado na comunicação de Ruby com Java;

Ambientes de Desenvolvimento

FreeRIDE: É instalado automaticamente; Não dá suporte à expressões regulares; Muito Lento e péssima interface gráfica;

Ambientes de Desenvolvimento

Arachno: É mais rápido, dá suporte à expressões

regulares sem precisar instalar plugins; Permite visualizar o código dos plugins,

debbug simultâneo; Permite visualizar as mensagens da

rede; Permite o uso e a definição de

Templates;

Ambientes de Desenvolvimento

Eclipse RDT / Aptana: Traz as facilidades do eclipse; Muitos programadores já a conhecem; Tem que configurar(plugins +

interpretador); Checa a sintaxe do código (bastante

básico); Traz assistente de conteúdo para Ruby.

Vantagens

Simplicidade e consistência; Há manipulação de variáveis; Checa os tipos das variáveis em tempo

de execução; Gerenciamento de memória; Biblioteca facilmente expansível; Portável.

Desvantagens

Modelo de threading Pouco eficiente; Impossibilita múltiplas CPU’s

É lenta: Toda operação em Ruby é feita por

invocação de método; É interpretada; Gerenciamento de memória automático.

RubyRuby Prática

Configurando o Ambiente

Baixar Eclipse disponível em: www.cin.ufpe.br/~vess/talc IDE já configurada por motivos didáticos

Baixar Arquivos “*.rb” disponíveis em: www.cin.ufpe.br/~vess/talc/arquivos

Criando um novo Projeto

Selecionando um Projeto Ruby

Atribuindo nome ao projeto

Finalizar Criação do Projeto

Criando Arquivos

Atribuindo nome ao arquivo

IMPORTANTE: Não esquecer de colocar a extensão (.rb) no nome do arquivo

Criando Classes

Construtor

Variável de instância

Método

Herança

Interpolação de expressão/ substituído pelo valor da expressão

Criando métodos

Método “get” / atributos virtuais

Retorna true ou false

Modifica valores

Exemplos Variados

Cópia de variáveis

Listas / Arrays

Procedimentos

Executando *.rb

Resultados no Console

RubyRuby Testes

Testes Unitários

SuiteTest TestCase

assert_nil assert_instance_of assert_match assert_same assert_kind_of

Criando Arquivo de Teste

Semelhante a criação de um arquivo qualquer Inclui a extensão .rb

“Importar” arquivo a ser testado require “Arquivo”

“Importar” libs de UnitTest Require “test/unit”

Classe de Teste

Métodos de Teste

Destrutor

Construtor

Resultado do Teste

Erro no test_subtrai, analisar e corrigir

RubyRuby Conclusões

Conclusões

Como foi visto, Ruby nasceu da idéia de que a linguagem tem que se adaptar ao programador, e não o contrário;

Ruby tem tido grande aceitação em todo o mundo e continua a crescer, está hoje em 10º no ranking TIOBE.

Muito pouco foi mostrado, Ruby tem muito mais recursos.

RubyRuby Dúvidas ???

RubyRubyObrigada!

vess at cin.ufpe.br

top related