Trunk-BasedDevelopmentRafael Petry
Porque OdeioBranchesRafael Petry
FeatureBranching
http://martinfowler.com/bliki/FeatureBranch.html
http://martinfowler.com/bliki/FeatureBranch.html
merge HELL
Conflito Sintáticoclass Person def initialize(name) @name = name<<<<<<< HEAD @first_name = name.split.first======= ...
Conflito Semântico
“Continuous Integration is a software developmentpractice where members of a team integrate their workfrequently, usually ...
“The bigger the apparentreason to branch, the moreyou shouldn’t branch.” Jez Humble and David Farley
FeatureToggles
<% if feature?(:new_awesome_feature) %> <li><%= link_to “Clique!!!”, new_feature_url %></li><% end %>
if feature?(:new_awesome_feature) # faz algo fantástico!else # faz o que era feito antes...end
http://code.flickr.com/blog/2009/12/02/flipping-out/
Branch byAbstraction
“Feature Branching is a poor mans modulararchitecture, instead of building systemswith the ability to easy swap in and out...
SomeController Event DBAnotherController
SomeController Event DBAnotherController SVC
SomeController Event DBAnotherController SVC
SomeController Event DBAnotherController SVC
SomeController Event DBAnotherController EventService SVC
Produção SomeController Event DBAnotherController ...
SomeController Event DBAnotherController EventService SVC
SomeControllerAnotherController EventService SVC http://www.slid...
Exceções
Spikes
Free Software
http://github.com
Obrigado!Rafael Petryrafaelpetry@thoughtworks.com@rafaelpetry
Porque Odeio Branches
Porque Odeio Branches
Porque Odeio Branches
Porque Odeio Branches
Porque Odeio Branches
of 34

Porque Odeio Branches

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 on: Mar 4, 2016
Published in: Technology      
Source: www.slideshare.net


Transcripts - Porque Odeio Branches

  • 1. Trunk-BasedDevelopmentRafael Petry
  • 2. Porque OdeioBranchesRafael Petry
  • 3. FeatureBranching
  • 4. http://martinfowler.com/bliki/FeatureBranch.html
  • 5. http://martinfowler.com/bliki/FeatureBranch.html
  • 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. http://code.flickr.com/blog/2009/12/02/flipping-out/
  • 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 http://www.slideshare.net/dtsato/refatorao-em-larga-escala
  • 25. Exceções
  • 26. Spikes
  • 27. Free Software
  • 28. http://github.com
  • 29. Obrigado!Rafael Petryrafaelpetry@thoughtworks.com@rafaelpetry

Related Documents