5 ms·
That's fine for small breaking changes like an API being renamed, but some times breaking changes require actually refactoring code which is hard/impossible to
by Touche 11y ago
That's fine for small breaking changes like an API being renamed, but some times breaking changes require actually refactoring code which is hard/impossible to do without intimate knowledge of a codebase.
Think python 2->3 or Angular 1->2. These types of changes do happen, and I bet they happen at Google. I don't think anyone is rewriting a downstream app when they make these changes. Most likely they are doing something like forking the library and renaming it, which is just another form of versioning.
- packetslave 11y agoA talk and a paper on how we do large-scale refactoring in the C++ parts of the codebase https://isocpp.org/blog/2015/05/cppcon-2014-large-scale-refactoring-google-hyrum-wright https://isocpp.org/blog/2015/05/cppcon-2014-large-scale-refa... http://research.google.com/pubs/pub41342.html http://research.google.com/pubs/pub41342.html
- bubersson 11y agopython 2->3 and angular 1->2 indeed need a different strategy and the strategy varies per case. For Angular both versions will have to be supported (basically just with different directory name) and switch most probably won't happen in terms of single applications, but by writing completely new applications on new stack. Lifespan of web application is rather short, so we can afford this.