top | item 24330893

(no title)

kungato | 5 years ago

Holy shit the amount of made up things you just wrote. "Systematic code review adds friction"? At Microsoft we switched from Perforce or whatever the old centralized system was to gitfs and productivity tripled. We didn't have to manage dumb zip files anymore. We already had code review because what is wrong eith you why wouldn't you have it. Why does continuous integration contradict feature branching? How do you have stable versions of the software if you have unfinished features and hacking in the master version?? I guess this makes sense for very small teams early in the development process but then you can just skip feature branching in git for a while. Git is a godsend

discuss

order

TBurette|5 years ago

> Why does continuous integration contradict feature branching?

With feature branching, you wait as long needed before the feature is finished. You can only merge when it is fully finished. This goes directly against the continuous integration philosophy of committing early and often.

> How do you have stable versions of the software if you have unfinished features and hacking in the master version?

It requires a strong commitment to ensure that the current state of the code remains healthy (strong unit tests,...). New in-progress features can remain disabled through feature flags, not showing the corresponding UI or not calling the code.

> I guess this makes sense for very small teams early in the development process but then you can just skip feature branching in git for a while.

It's definitely not for every team.

Martin Fowler presents in detail the 'made up things I just wrote' in this article : https://martinfowler.com/articles/branching-patterns.html . See in particular the Continuous Integration section and the following sections.

kungato|5 years ago

What is the point of disabled features in master except to not have to have feature branches. Making sure it compiles? You aren't really using those code paths are you? You should have unit tests on your feature branch anyways