SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
Peça seu código
em casamento...
Votos, tópicos e TDD.
@rafaelcaricio
Antes de
começar...
      COMO É TRABALHAR NO MAIOR
      PORTAL DA INTERNET BRASILEIRA ?
1 DIVERTIDO
2 TRABALHOSO
3 EMOCIONANTE
3 EMOCIONANTE
                                               40.000.000




                                               30.000.000



                                           20.000.000


                                           10.000.000


                                           0
                                 acessos



      10 milhões de brasileiros por dia
MEU TIME HOJE: PORTAL E PADRÕES
QUER FAZER PARTE DESTE TIME ?

github.com/globocom/IWantToWorkAtGloboCom


              Fork me!
Pedindo seu código em casamento:
votos, tópicos e TDD!
Continuando...
   Pedindo seu código em casamento:
   votos, tópicos e TDD!
Vamos a um exemplo...
def test_sum_returns_42():
    result = add_two_numbers(41, 1)

    assert result
    assert int(result)
    assert result == 42
Uma forma mais
 organizada...
def test_sum_returns_result():
    result = add_two_numbers(41, 1)
    assert result

def test_sum_returns_a_number():
    result = add_two_numbers(41, 1)
    assert int(result)

def test_sum_returns_42():
    result = add_two_numbers(41, 1)
    assert result == 42
Como seria com o
    pyVows
class SumContext(Vows.Context):

    def topic(self):
        return add_two_numbers(41, 1)

    def we_get_a_result(self, topic):
        expect(topic).Not.to_be_null()

    def we_get_a_number(self, topic):
        expect(topic).to_be_numeric()

    def we_get_42(self, topic):
        expect(topic).to_equal(42)
Como seria com o
    pyVows
class SumContext(Vows.Context):

    def topic(self):
        return add_two_numbers(41, 1)

    def we_get_a_result(self, topic):
        expect(topic).Not.to_be_null()

    def we_get_a_number(self, topic):
        expect(topic).to_be_numeric()

    def we_get_42(self, topic):
        expect(topic).to_equal(42)
Como seria com o
    pyVows
class SumContext(Vows.Context):

    def topic(self):
        return add_two_numbers(41, 1)

    def we_get_a_result(self, topic):
        expect(topic).Not.to_be_null()

    def we_get_a_number(self, topic):
        expect(topic).to_be_numeric()

    def we_get_42(self, topic):
        expect(topic).to_equal(42)
Um exemplo prático...
Extensões

•   Tornado
•   Django
•   ...
Como contribuir?



 •   Pull request
https://github.com/heynemann/pyvows/
Peça seu código
em casamento...
Votos, tópicos e TDD.
Dúvidas?
A hora é agora!

  Peça seu código
  em casamento...
  Votos, tópicos e TDD.




   @rafaelcaricio

Mais conteúdo relacionado

Destaque

Criando comunidades bem sucedidas
Criando comunidades bem sucedidasCriando comunidades bem sucedidas
Criando comunidades bem sucedidas
pugpe
 
NoSQL com Cassandra e Python
NoSQL com Cassandra e PythonNoSQL com Cassandra e Python
NoSQL com Cassandra e Python
pugpe
 
Palestra sobre Collections com Python
Palestra sobre Collections com PythonPalestra sobre Collections com Python
Palestra sobre Collections com Python
pugpe
 
Computação Científica com Python
Computação Científica com PythonComputação Científica com Python
Computação Científica com Python
Hugo Serrano
 
Clustering com numpy e cython
Clustering com numpy e cythonClustering com numpy e cython
Clustering com numpy e cython
Anderson Dantas
 
Construindo uma startup em 54 horas com Python
Construindo uma startup em 54 horas com PythonConstruindo uma startup em 54 horas com Python
Construindo uma startup em 54 horas com Python
pugpe
 

Destaque (20)

Criando comunidades bem sucedidas
Criando comunidades bem sucedidasCriando comunidades bem sucedidas
Criando comunidades bem sucedidas
 
Pyjamas: Uma Ferramenta Pythônica para Web
Pyjamas: Uma Ferramenta Pythônica para WebPyjamas: Uma Ferramenta Pythônica para Web
Pyjamas: Uma Ferramenta Pythônica para Web
 
Pep 8
Pep 8Pep 8
Pep 8
 
Pug
PugPug
Pug
 
REST APIs com Django
REST APIs com DjangoREST APIs com Django
REST APIs com Django
 
Porque foi bom aprender com Python
Porque foi bom aprender com PythonPorque foi bom aprender com Python
Porque foi bom aprender com Python
 
NoSQL com Cassandra e Python
NoSQL com Cassandra e PythonNoSQL com Cassandra e Python
NoSQL com Cassandra e Python
 
Wikilytics
WikilyticsWikilytics
Wikilytics
 
Palestra sobre Inteligência Coletiva
Palestra sobre Inteligência ColetivaPalestra sobre Inteligência Coletiva
Palestra sobre Inteligência Coletiva
 
Python e Cadeias de Markov GHMM
Python e Cadeias de Markov GHMMPython e Cadeias de Markov GHMM
Python e Cadeias de Markov GHMM
 
Palestra sobre Collections com Python
Palestra sobre Collections com PythonPalestra sobre Collections com Python
Palestra sobre Collections com Python
 
(entregando djangoapps)@tangerinalab - pugpe xv
(entregando djangoapps)@tangerinalab - pugpe xv(entregando djangoapps)@tangerinalab - pugpe xv
(entregando djangoapps)@tangerinalab - pugpe xv
 
Python Debugger - PUG-PE
Python Debugger - PUG-PE Python Debugger - PUG-PE
Python Debugger - PUG-PE
 
Computação Científica com Python
Computação Científica com PythonComputação Científica com Python
Computação Científica com Python
 
Arduino e python
Arduino e pythonArduino e python
Arduino e python
 
Clustering com numpy e cython
Clustering com numpy e cythonClustering com numpy e cython
Clustering com numpy e cython
 
Apresentação do Critica Aê
Apresentação do Critica AêApresentação do Critica Aê
Apresentação do Critica Aê
 
Desenvolvendo aplicativos web com o google app engine
Desenvolvendo aplicativos web com o google app engineDesenvolvendo aplicativos web com o google app engine
Desenvolvendo aplicativos web com o google app engine
 
Bio python
Bio pythonBio python
Bio python
 
Construindo uma startup em 54 horas com Python
Construindo uma startup em 54 horas com PythonConstruindo uma startup em 54 horas com Python
Construindo uma startup em 54 horas com Python
 

Peça seu código em casamento: Votos, Tópicos e TDD

  • 1. Peça seu código em casamento... Votos, tópicos e TDD. @rafaelcaricio
  • 2.
  • 3. Antes de começar... COMO É TRABALHAR NO MAIOR PORTAL DA INTERNET BRASILEIRA ?
  • 7. 3 EMOCIONANTE 40.000.000 30.000.000 20.000.000 10.000.000 0 acessos 10 milhões de brasileiros por dia
  • 8. MEU TIME HOJE: PORTAL E PADRÕES
  • 9.
  • 10. QUER FAZER PARTE DESTE TIME ? github.com/globocom/IWantToWorkAtGloboCom Fork me!
  • 11. Pedindo seu código em casamento: votos, tópicos e TDD!
  • 12. Continuando... Pedindo seu código em casamento: votos, tópicos e TDD!
  • 13. Vamos a um exemplo... def test_sum_returns_42():     result = add_two_numbers(41, 1)     assert result     assert int(result)     assert result == 42
  • 14. Uma forma mais organizada... def test_sum_returns_result():     result = add_two_numbers(41, 1)     assert result def test_sum_returns_a_number():     result = add_two_numbers(41, 1)     assert int(result) def test_sum_returns_42():     result = add_two_numbers(41, 1)     assert result == 42
  • 15. Como seria com o pyVows class SumContext(Vows.Context):     def topic(self):         return add_two_numbers(41, 1)     def we_get_a_result(self, topic):         expect(topic).Not.to_be_null()     def we_get_a_number(self, topic):         expect(topic).to_be_numeric()     def we_get_42(self, topic):         expect(topic).to_equal(42)
  • 16. Como seria com o pyVows class SumContext(Vows.Context):     def topic(self):         return add_two_numbers(41, 1)     def we_get_a_result(self, topic):         expect(topic).Not.to_be_null()     def we_get_a_number(self, topic):         expect(topic).to_be_numeric()     def we_get_42(self, topic):         expect(topic).to_equal(42)
  • 17. Como seria com o pyVows class SumContext(Vows.Context):     def topic(self):         return add_two_numbers(41, 1)     def we_get_a_result(self, topic):         expect(topic).Not.to_be_null()     def we_get_a_number(self, topic):         expect(topic).to_be_numeric()     def we_get_42(self, topic):         expect(topic).to_equal(42)
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 25. Extensões • Tornado • Django • ...
  • 26. Como contribuir? • Pull request https://github.com/heynemann/pyvows/
  • 27. Peça seu código em casamento... Votos, tópicos e TDD.
  • 28. Dúvidas? A hora é agora! Peça seu código em casamento... Votos, tópicos e TDD. @rafaelcaricio