Ronald, It's a strong argument you put forward and you highlight very good issues to back it up that are all practical, intuitive and well backed up points. I repeat, and expect that everyone probably agrees, that it's not the end of the world if the I prefix stays, but the vote is whether it should be taken away (on this release, presumably, which is a pretty major overhaul, albeit mainly internally if not exclusively), and I think it would be the right time to do this sort of refactoring if it's ever going to be done at all. So I'll reiterate the +1 due to all the reasons I have already given - and no, I'm not trying to vote twice! I said it's a long story in my initial post, as I've heard all the arguments both ways so many times from many developers, and there's probably more to come. The sentiment I sense is that some of the core-developers will feel even better about the code-base if they can apply some refactoring, at this most opportune moment, that will reduce, if not eliminate, some of the sub-optimal code/design that inevitably builds up over so many years of rapid coding and applying patches by so many developers, sometimes working slightly independently to fix a problem or add a feature that is critical for their own projects, in a way that may not be the "purest" or most elegant, but is certainly good a enough solution to scratch their particular itch (that others probably want to scratch too), and the tests pass, so it gets included. If the vote goes the other way, then that "convention" should be used absolutely consistently everywhere in the Wicket code base, despite some core developers' stated dislike for it - I don't expect too many application developers will want to use Wicket any less for this, as long as it doesn't put off any core developers. Regards - Cemal jWeekend OO & Java Technologies, Wicket Training and Development http://jWeekend.com
ronaldtm wrote: > >> >> What if I have >> a class for the iPlayer (a BBC service for watching already broadcast TV >> programs online). If I call my class IPlayer do I need to worry that half >> the world is going to think it's an interface. > > > Oh, Apple will have a lot of trouble if they try to use Wicket :) > > > >> Again, having such a naming convention in the code is certainly not the >> end >> of the world > > > Exactly! > > > >> but to my mind it's a convention that does more harm than good >> > > But how does this harm compare to the harm caused by the cure? You only > take > Chemotherapy when you die otherwise. > > I think you guys are underestimating the cost of renaming such central > part > of the framework. > > Do whatever you want with *Impl, because it just doesn't occur in public > classes. > > Abstract* and Default* are useful, if they have a consistent meaning. For > example, I'm not sure, but I think Default* are ready-to-use complex > components, with all style needed out-of-the-box. Abstract* are partial > implementations of interfaces, what are very useful. If they are not that > consistent, and you can think of really better names (StyledDataTable is * > not* better than DefaultDataTable), it may be worth renaming. > > If you only take the 'I' out of interfaces, you'll break every component, > tutorial, documentation, and code sample out there, but at least the > concept > remains intact. > > If you also rename IModel to Locator, you'll break either the naming > consistency (half *Model, half *Locator), or the already established > vocabulary of the framework (if everything changes to *Locator), which is, > by far, the worst option. > > But I still think that both changes are completely unnecessary, and a > fruit > of pure purism. And it's not a question of skill. In fact, this kind of > purism manifests precisely in very skilled developers. I also do this > sometimes, but fortunately I always have someone who pulls me back to > Earth. > > And about 'breaking compatibility each release', well, it does happen, and > if comes without a very good reason, it becomes harder and harder to sell > Wicket to my employee :) > > -- View this message in context: http://www.nabble.com/taking-the-I-out-of-Interface-tp25723691p25766649.html Sent from the Wicket - Dev mailing list archive at Nabble.com.