6 March, 2013 0 Comments AUTHOR: elemarjr CATEGORIES: Sem categoria Tags: ,

Tenha um projeto "Playground" em suas bibliotecas

Tempo de leitura: Less than a minute

Olá. Tudo certo?!

Considero fundamental aprender a partir das experiências dos outros. Por causa disso, tenho o hábito regular de acompanhar projetos open source.

Recentemente, peguei os fontes do projeto Rx (Reactive Extensions) que está no Codeplex. Inspecionando o projeto, encontrei algo que me deixou animado. Um projeto "playground".

playground

Perceba que trata-se de um projeto Console, com um único fonte:

// Copyright (c) Microsoft Open Technologies, Inc.
// All rights reserved.
// See License.txt in the project root for license information.

using System;
using System.Reactive;
using System.Reactive.Concurrency;
using System.Reactive.Disposables;
using System.Reactive.Linq;
using System.Reactive.Subjects;
using System.Threading;

namespace Playground
{
    class Program
    {
        static void Main()
        {

        }
    }
}

Sim! Esse programa não faz nada. Então, para que serve? Simples! É um espaço de experiências para a biblioteca que está sendo desenvolvida, para brincadeiras. Ou seja, é um playground.

Considero fundamental que toda biblioteca seja desenvolvida pensando na qualidade do uso para o desenvolvedor cliente. Uma interface simples e elegante é o mínimo que alguém que se importa deveria entregar. Chegar a esse objetivo só é possível se "usarmos", mesmo que ludicamente, aquilo que estamos desenvolvendo. Por isso, gosto tanto da ideia do playground.

Repare que não considero o "playground" como substituto para testes de unidade, ou testes funcionais. Mas, considero um excelente complemento.

Sempre gostei da prática, agora sei o nome adequado para dar ao projeto.

Era isso.

0 Comments

  1. Marcius 3 years ago says:

    Bem legal, vou tentar levar essa ideia para impessoal aqui do trampo

    Reply
  2. Leandro Souza 3 years ago says:

    Legal esta ideia, eu utilizo com o nome de ConsoleTest.
    Valeu pela dica.

    Reply