Introdução

Pharo é uma linguagem de programação orientada a objetos que tem ganhado destaque devido à sua simplicidade e eficiência na criação de aplicações. Neste tutorial, vamos explorar como usar Pharo para o desenvolvimento ágil, ressaltando suas bibliotecas e práticas colaborativas. A abordagem ágil é ideal para equipes que desejam se adaptar rapidamente às mudanças, e Pharo, com sua interface intuitiva e ambiente dinâmico, facilita esse processo. Ao longo deste artigo, você aprenderá a configurar seu ambiente, utilizar bibliotecas relevantes e adotar metodologias ágeis para otimizar seu fluxo de trabalho. Prepare-se para mergulhar no mundo do desenvolvimento rápido e colaborativo com Pharo.

Etapas

  1. Configuração do Ambiente Pharo

    Primeiro, você precisará instalar o Pharo em sua máquina. Visite o site oficial do Pharo e faça o download da versão mais recente. O ambiente de desenvolvimento do Pharo inclui uma imagem e um VM (Virtual Machine). Após o download, extraia os arquivos e inicie a imagem do Pharo.

    commands
    # Iniciar a imagem do Pharo
    open Pharo.image

  2. Criando um Novo Projeto

    Uma vez que o Pharo estiver funcionando, você pode criar um novo projeto usando a ferramenta de gerenciamento de pacote Metacello. Abra o Playground e execute o seguinte código para definir um novo pacote chamado `MeuProjeto`.

    commands
    Metacello new
    baseline: 'MeuProjeto';
    repository: 'github://usuario/repo:master';
    load.

  3. Adicionando Bibliotecas Úteis

    Para o desenvolvimento ágil, você pode querer agregar bibliotecas que suportem práticas colaborativas. Uma biblioteca popular é a `Specification` para testes. Utilize o seguinte comando para integrá-la ao seu projeto.

    commands
    Metacello new
    baseline: 'Specification';
    repository: 'github://pharo-spec/specification';
    load.

  4. Modelo de Dados: Criando a Classe ‘Produto’

    Agora, vamos criar uma classe simples chamada `Produto`. No Playground, execute o seguinte código para definir a classe e seus atributos.

    commands
    Object subclass: #Produto
    instanceVariableNames: 'nome preco'
    classVariableNames: ''
    package: 'MeuProjeto'

  5. Implementando a Lógica de Negócio

    Para a classe `Produto`, implemente métodos para manipular as informações. Adicione métodos para definir e obter os atributos `nome` e `preco`.

    commands
    Produto >> nome: aNome [nome := aNome. ]
    Produto >> preco: umPreco [preco := umPreco. ]
    Produto >> nome [^ nome]
    Produto >> preco [^ preco]

  6. Teste da Classe ‘Produto’

    Utilize a biblioteca `Specification` para implementar testes na classe `Produto`. Crie um novo arquivo de teste e adicione o seguinte código.

    commands
    TestCase subclass: #ProdutoTest
    instanceVariableNames: ''
    classVariableNames: ''
    package: 'MeuProjeto-Test'

    ProdutoTest >> testNomePreco [
    | produto |
    produto := Produto new.
    produto nome: 'Teste'; preco: 25.0.
    self assert: produto nome = 'Teste'.
    self assert: produto preco = 25.0.
    ]

  7. Executando os Testes

    Você pode rodar os testes da sua classe `ProdutoTest` diretamente do ambiente do Pharo. Execute o seguinte comando no Playground para iniciar os testes.

    commands
    ProdutoTest new runTests.

  8. Documentação e Colaboração

    Em um ambiente colaborativo, documentar seu código é fundamental. Experimente adicionar comentários nas suas classes e use ferramentas como `FileList` para organizar e gerenciar seus arquivos.

    commands
    FileList new file: 'src/MeuProjeto/Produto.st'
    # Comentários são valiosos para sua equipe.

  9. Compartilhamento do Projeto

    Finalmente, compartilhe seu projeto utilizando um sistema de controle de versão como Git. Configure um repositório remoto e faça o push de suas alterações.

    commands
    # Inicializando um repositório Git
    git init
    git add .
    git commit -m 'inicializando o projeto'
    git remote add origin https://github.com/usuario/repo.git
    git push -u origin master

Conclusão

Neste tutorial, exploramos como utilizar o Pharo para desenvolvimento ágil, desde a configuração do ambiente até a implementação de uma lógica simples de negócios e testes unitários. Pharo, com suas ricas bibliotecas e comunidade ativa, se prova uma ferramenta poderosa para colaboração em equipe e melhoria contínua. Através de práticas ágeis, como compartilhamento de código e documentações úteis, seu fluxo de trabalho e produtividade podem aumentar exponencialmente.

Hashtags

#Pharo #Smalltalk #DesenvolvimentoÁgil #Colaboração #TestesUnitários #Programação