Rodrigo Vidal PSD – MCPD – MCTS – MCP / Arquitetura e Desenvolvimento de Software

28mai/100

Resultado do Coding Dojo – DotNetArchitects RJ

DotNetArchitects - Coding Dojo

Olá pessoal,
venho publicar o resultado do Coding Dojo do DotNetArchitects Rio de Janeiro .Primeiro gostaria de dizer que foi FANTASTICO! Por mais que eu ja tenha participado de outros Dojos, este foi diferente, experiencia incrivel trocada e compartilhada!  O problema a ser solucionado foi o FizzBuzz, que é um problema simples ideal para primeiro dojo oficial. No entanto o problema se mostrou bem interessante para darmos ênfase a conceitos chaves do TDD.

  Abaixo segue o código com os Testes:

namespace FizzBuzzTest
{
    [TestClass]
    public class FizzBuzzTest
    {
        [TestMethod]
        public void Recebe_1_e_Retonar_1()
        {
            var lista = new[] { "1" };
            CollectionAssert.AreEqual(lista, FizzBuzz(new int[] { 1 }));
        }
 
        [TestMethod]
        public void Recebe_2_e_Retonar_2()
        {
            var lista = new[] { "2" };
            CollectionAssert.AreEqual(lista, FizzBuzz( new int[] { 2 }));
        }
 
        [TestMethod]
        public void Recebe_3_e_Retonar_fizz()
        {
            var lista = new[] { "fizz" };
            CollectionAssert.AreEqual(lista, FizzBuzz(new int[] { 3 }));
        }
 
        [TestMethod]
        public void Recebe_4_e_Retonar_4()
        {
            var lista = new[] { "4" };
            CollectionAssert.AreEqual(lista, FizzBuzz(new int[] { 4 }));
        }
 
        [TestMethod]
        public void Recebe_5_e_Retonar_Buzz()
        {
            var lista = new[] { "buzz" };
            CollectionAssert.AreEqual(lista, FizzBuzz(new int[] { 5 }));
        }
 
        [TestMethod]
        public void Recebe_15_e_Retonar_FizzBuzz()
        {
            var lista = new[] { "fizzbuzz" };
            CollectionAssert.AreEqual(lista, FizzBuzz(new int[] { 15 }));
        }
 
        [TestMethod]
        public void Recebe_9_e_Retonar_Fizz()
        {
            var lista = new[] { "fizz" };
            CollectionAssert.AreEqual(lista, FizzBuzz(new int[] { 9 }));
        }
 
        [TestMethod]
        public void Recebe_10_e_Retonar_Buzz()
        {
            var lista = new[] { "buzz" };
            CollectionAssert.AreEqual(lista, FizzBuzz(new int[] { 10 }));
        }
 
        [TestMethod]
        public void Recebe_45_e_Retorna_FizzBuzz()
        {
            var lista = new[] { "fizzbuzz" };
            CollectionAssert.AreEqual(lista, FizzBuzz(new int[] { 45 }));
        }
 
        [TestMethod]
        public void Recebe_lista_1_2_retorna_1_2()
        {
            var lista = new[] { "1", "2" };
            CollectionAssert.AreEqual(lista, FizzBuzz(new int[] {1,2}));
        }
 
        [TestMethod]
        public void Recebe_lista_1_2_3_retorna_1_2_Fizz()
        {
            var lista = new[] { "1", "2","fizz" };
            CollectionAssert.AreEqual(lista, FizzBuzz(new int[] { 1, 2, 3 }));
        }
 
        [TestMethod]
        public void Recebe_lista_1_2_3_4_5_15_retorna_1_2_Fizz_4_Buzz_FizzBuzz()
        {
            var lista = new[] { "1", "2","fizz", "4", "buzz", "fizzbuzz" };
            CollectionAssert.AreEqual(lista, FizzBuzz(new int[] { 1, 2, 3, 4, 5, 15 }));
        }
}

E a implementação:

 private string[] FizzBuzz(int[] p)
        {
            var lista = new List();
            foreach (var item in p)
            {
                if ((item % 3 == 0) && (item % 5 != 0))
                    lista.Add("fizz");
                else if ((item % 5 == 0) && (item % 3 != 0))
                    lista.Add("buzz");
                else if ((item % 3 == 0) && (item % 5 == 0))
                    lista.Add("fizzbuzz");
                else
                    lista.Add(item.ToString());
            }
            return lista.ToArray();
        }

Também gostaria de agradecer à Perlink e ao Fernando Bichara por apoiar e patrocinar a reunião do grupo.

Fizemos uma retrospectiva e os seguintes pontos foram levantados para futuros Dojos:

O que foi bom?

  • Muitos aprenderam novos conceitos
  • Troca de conhecimento
  • Lanche
  • Estrutura
  • Primeiro Dojo Oficial do DotNetArchitects RJ
  • O problema de facil entendimento
  • Bom humor
  • Ambiente inclusivo
  • Refactoring
  • O Luan não chegou atrasado(um milagre!)
  • O problema foi resolvido
  • Pós-Dojo no Devassa Largo do Machado

O que pode melhorar?

  • Conversa paralela
  • o teclado
  • Muita gente se inscreveu e não foi!
  • Alguns estavam presentes e nao quiseram colocar a mão no código
  • Podia ir até mais tarde
  • Fred na foto (ahahahhaha!)

Bom pessoal é isso, ficamos muito felizes com o resultado que este Dojo gerou, e acredito que foi de grande valia para todos os participantes.
Espero também que o próximo não demore!

E claro, nao deixem de participar nos comentários. E voce que não foi, PERDEU!

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
Comentários (0) Trackbacks (0)

Sem comentários


Deixar um comentário


Sem trackbacks