On Sun, Jan 27, 2013 at 11:03 PM, Russell Keith-Magee < [email protected]> wrote:
> Please don't take me wrong, but most of the times this is caused by the > very lack of modularity that I mentioned. If removing a feature causes > subtle regressions, is either because the patch touches too many parts of > the code (in other words, its effect is not contained into a single > module), or because code is too tightly coupled (modules depend on each > other in subtle ways). Of course there's always some chance that something > HAS to be fixed before release. But that sould be the exception, and not > the norm - as it was the case with the unicode literals, which *is* an > clear exception (migrating to Python 3 is really a huge task!). > > Unicode-literals is an extreme example, but the same problem exists on > much smaller issues too, and it has nothing to do with coupling or cohesion > between modules. Consider: Someone adds a fix to the ORM system that > corrects one edge case of select_related behavior when nullable joins are > involved. Someone else adds a fix around the way that nullable joins are > interpreted for aggregates. At some point, a regression is found. The > problem is tracked back, and found to be due to the select_related fix. > However, you can't just roll back that fix, because the two patches overlap. > Let's talk "in principle"... if the two patches overlap, then you have coupling, like it or not. A truly modular design wouldn't have this kind of coupling. Of course, that's something that only happens in the ideal world; in the real world things are not that easy, and in many cases (for whatever reason) it's not doable at all. But again, that (minimizing coupling) should be one of the goals, and whenever you detect that it happened (an unfortunate coupling like you mentioned), it should be possible to devise some way to minimize the coupling as part of the solution. That minimizes the coupling over time. That said, thanks for your patience, I don't want to drag everyone into a fruitless discussion. Thanks also for all the hard work with Django - and my sincere wishes of a better 1.6 cycle for everyone! -- Carlos Ribeiro Consultoria em Projetos twitter: http://twitter.com/carribeiro blog: http://rascunhosrotos.blogspot.com mail: [email protected] -- You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. Visit this group at http://groups.google.com/group/django-developers?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
