Coding Dojo #15 : Números de Dinostratus

Décimo quarto quinto dojo na CN e o oitavo utilizando Python, todos meio enferrujados por causa do feriado, mas como sempre foi bom.

A partir deste dojo nossos posts a respeito do Coding Dojo CN serão feitos todos no blog do desenvolvimento TI e não mais no blog http://cncodingdojo.wordpress.com/, no inicio achamos melhor manter em um local separado, isto resolveu alguns problemas mas causou outros, então decidimos que o melhor será centralizar tudo que a equipe escreve apenas neste blog, então por favor atualizem o seu leitor de FEEDS.

Outra novidade é que nos próximos encontros não será obrigatório que os curadores apresentem um Lightning Talk, isso será opcional e facultativo.

Lightning Talk

PEP 8 Guia de estilo de códigos Python – Lightning Talk – Marco Moura

slide da apresentação http://www.slideshare.net/marcomoura/lighting-talk-pep-8

Python vs Outras linguaguens – Lightning Talk – Carlos Eduardo

Hoje de bônus segue um vídeo dando um zoom pela sala de desenvolvimento.. heheh

Coding Dojo

Nós iniciamos o coding dojo 20 minutos além do previsto, devido a mudanças na gravação do linghting talk, depois de escolhido o kata, foram 30 minutos de planejamento sobre como desenvolveríamos a solução e no restante do tempo (50min) ocupamos programando, no inicio enroscamos nos testes por esquecermos alguns itens para o teste poder executar (um item chamado SELF .. rssss), e no final 15 minutos de retrospectiva.

O Kata foi sem muita expectativa de complicação no uso da linguagem python, mas foi complexo em lógica matemática, kata Números de Dinostratus.

Origem do kata :  http://br.spoj.pl/problems/DINOSTRA/

Código fonte do encontro ( http://gist.github.com/703613 )

test.py

import unittest
from Dinostratus import Dinostratus

class  New_TestCase(unittest.TestCase):

    def test_sould_init_class(self):
        teste = Dinostratus()
        self.assertNotEquals(None, teste)

    def test_should_call_36_is_multiple_two(self):
        multiplo = Dinostratus.is_multiple(36)
        self.assertTrue(multiplo)

    def test_should_call_13_is_multiple_two(self):
        multiplo = Dinostratus.is_multiple(13)
        self.assertFalse(multiplo)

    def test_montar_linha_36(self):
        linha = Dinostratus.cria_linha(36)
        retorno = [36,18,9]
        self.assertEquals(retorno,linha)

    def test_montar_linha_72(self):
        linha = Dinostratus.cria_linha(72)
        retorno = [72,36,18]
        self.assertEquals(retorno,linha)

if __name__ == '__main__':
    unittest.main()

dinostratus.py

class Dinostratus:

    @staticmethod
    def is_multiple(valor):
        multiplo = valor%2

        if multiplo == 0:
            return True

        return False

    @staticmethod
    def cria_linha(valor):
        for i:3
            resultado = valor/2
        array = [36,18,9]
        return array

Retrospectiva:

Bom:

* Lighting Talk
* Webcam
* motivação maior- saudades
* sem disputa de ego
* usar quadro para demonstração

Ruim:

* Perca de tempo
* Kata muito matemático
* esquecer de sintaxe
* sem post-it
* tempo curto na programação/pilotagem
* o curador atrasou

Próximos:
– kata menos matemático
– LT opcional
– começar mais cedo

A ordem da próximas duplas que ficam responsáveis da organização do dojo será a seguinte:
24/11- Natália / Patrícia
01/12- Luciana / Marco
08/12- Carlos / Salomão

Fotos do encontro