Your SlideShare is downloading. ×
  • Like
Porque Odeio Branches
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Porque Odeio Branches


Slides da palestra no Café Ágil da ThoughtWorks e Tá Safo em Belém, 10/08/2012. …

Slides da palestra no Café Ágil da ThoughtWorks e Tá Safo em Belém, 10/08/2012.

Outros links interessantes:

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads


Total Views
On SlideShare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 1. Trunk-BasedDevelopmentRafael Petry
  • 2. Porque OdeioBranchesRafael Petry
  • 3. FeatureBranching
  • 4.
  • 5.
  • 6. merge HELL
  • 7. Conflito Sintáticoclass Person def initialize(name) @name = name<<<<<<< HEAD @first_name = name.split.first======= logger.debug "Registrado usuário #{name}">>>>>>> test endend
  • 8. Conflito Semântico
  • 9. “Continuous Integration is a software developmentpractice where members of a team integrate their workfrequently, usually each person integrates at least daily -leading to multiple integrations per day. Each integrationis verified by an automated build (including test) to detectintegration errors as quickly as possible. Many teams findthat this approach leads to significantly reducedintegration problems and allows a team to developcohesive software more rapidly.” Martin Fowler
  • 10. “The bigger the apparentreason to branch, the moreyou shouldn’t branch.” Jez Humble and David Farley
  • 11. FeatureToggles
  • 12. <% if feature?(:new_awesome_feature) %> <li><%= link_to “Clique!!!”, new_feature_url %></li><% end %>
  • 13. if feature?(:new_awesome_feature) # faz algo fantástico!else # faz o que era feito antes...end
  • 14.
  • 15. Branch byAbstraction
  • 16. “Feature Branching is a poor mans modulararchitecture, instead of building systemswith the ability to easy swap in and outfeatures at runtime/deploytime they couplethemselves to the source control providingthis mechanism through manual merging.” Dan Bodart
  • 17. SomeController Event DBAnotherController
  • 18. SomeController Event DBAnotherController SVC
  • 19. SomeController Event DBAnotherController SVC
  • 20. SomeController Event DBAnotherController SVC
  • 21. SomeController Event DBAnotherController EventService SVC
  • 22. Produção SomeController Event DBAnotherController EventService SVC Teste
  • 23. SomeController Event DBAnotherController EventService SVC
  • 24. SomeControllerAnotherController EventService SVC
  • 25. Exceções
  • 26. Spikes
  • 27. Free Software
  • 28.
  • 29. Obrigado!Rafael