On Mon, Jul 22, 2013 at 3:23 PM, Denny Vrandečić < denny.vrandecic@wikimedia.de> wrote:
Assume you have class Ext which relies on class Core, but class Core should not rely on class Ext, because they are on different architectural levels. If Ext and Core are together, your CI will load them both and you won't notice if you access Ext from Core. No error is thrown. If Core is not together with Ext, then unit-testing Core will not load Ext. A call to Core will fail, and your CI will discover the error. The split helps keeping the architectural integrity of the code, and avoids it being
Architectural integrity of code is a design-level issue. Continuous integration is a programming and quality assurance-level issue. They have nothing to do with each other, and you can maintain architectural integrity just fine without having to split your singular product into multiple products. If that were true, than the MW core would be split across fifty different repositories. (If Makefiles can compile different parts of a product independently, then so can we.)
*-- * *Tyler Romeo* Stevens Institute of Technology, Class of 2016 Major in Computer Science www.whizkidztech.com | tylerromeo@gmail.com