Porque Odeio Branches

794 views
737 views

Published on

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

Outros links interessantes:
http://www.youtube.com/watch?v=xzstASOvqNc
http://continuousdelivery.com/2011/05/make-large-scale-changes-incrementally-with-branch-by-abstraction/

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
794
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
13
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Porque Odeio Branches

  1. 1. Trunk-BasedDevelopmentRafael Petry
  2. 2. Porque OdeioBranchesRafael Petry
  3. 3. FeatureBranching
  4. 4. http://martinfowler.com/bliki/FeatureBranch.html
  5. 5. http://martinfowler.com/bliki/FeatureBranch.html
  6. 6. merge HELL
  7. 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. 8. Conflito Semântico
  9. 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. 10. “The bigger the apparentreason to branch, the moreyou shouldn’t branch.” Jez Humble and David Farley
  11. 11. FeatureToggles
  12. 12. <% if feature?(:new_awesome_feature) %> <li><%= link_to “Clique!!!”, new_feature_url %></li><% end %>
  13. 13. if feature?(:new_awesome_feature) # faz algo fantástico!else # faz o que era feito antes...end
  14. 14. http://code.flickr.com/blog/2009/12/02/flipping-out/
  15. 15. Branch byAbstraction
  16. 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. 17. SomeController Event DBAnotherController
  18. 18. SomeController Event DBAnotherController SVC
  19. 19. SomeController Event DBAnotherController SVC
  20. 20. SomeController Event DBAnotherController SVC
  21. 21. SomeController Event DBAnotherController EventService SVC
  22. 22. Produção SomeController Event DBAnotherController EventService SVC Teste
  23. 23. SomeController Event DBAnotherController EventService SVC
  24. 24. SomeControllerAnotherController EventService SVC http://www.slideshare.net/dtsato/refatorao-em-larga-escala
  25. 25. Exceções
  26. 26. Spikes
  27. 27. Free Software
  28. 28. http://github.com
  29. 29. Obrigado!Rafael Petryrafaelpetry@thoughtworks.com@rafaelpetry

×