Hi,
Do you have to 'implement' or 'extend' a particular type? Can you have multiple inheritance with that type or not? Can you instantiate it?
The answers of those questions are clear with 'IPage'. If 'Page' can be both a class or an interface, you have to look through the code to find that out.
Interfaces and classes are two rather different concepts. It seems to me that they need to be distinguished clearly. Removing the 'I' in front of the name and the characters that saves are a much smaller win compared to the loss of clarity and the time wasted in figuring out what can be done with that type.
Just my opinion.... -mb
Andy Pahne wrote:
I dislike the I in the interfaces, because if you follow the good practice of programming against interfaces, you always have to deal with this extra I. It's just more natural to code
Page nextPage = cycle.getPage("Login");
instead of
IPage nextPage = ...;
Just my 2 cents.
Andy
T.Mikov schrieb:
Out of curiosity, why is prefixing interfaces with "I" considered bad ? It seems like a good thing to me, since an interface is different from a class, after all.
regards, Tzvetan
Erik Hatcher wrote:
For reference, here's what we're doing with Lucene.... there has been
a slew of API changes since the last stable release (version 1.4.3). We've deprecated many API methods, but not broken any backwards
compatibility. We've even copied the entire test suite (which is
fairly robust) and kept one set of tests that deal with the now
deprecated API and updated the official test suite to use the new
API. This keeps us honest and prevents us from removing something
just yet. The next release of Lucene will be version 1.9 that is
backwards compatible with the old API deprecated. Once that is
released, we will remove all the deprecated stuff and release a 2.0
version. If you can compile with no deprecation warnings with 1.9 you
will be fine to upgrade to 2.0.
Erik
On Apr 21, 2005, at 10:00 PM, Ben Eng wrote:
I like that idea. At least it gets us started down the path towards the desired destination.
Ben
On Thu, Apr 21, 2005 at 09:33:52PM -0400, Erik Hatcher wrote:
Let's be pragmatic, though. It would be rude to simply remove things just to clean up naming and break things for no strong technical reason. I hate the I* names myself, as does Howard these days. An intermediate step would be to put extend those interfaces with names we like, deprecate the I* interfaces, and remove them in the subsequent release (or something like that).
Erik
On Apr 21, 2005, at 5:03 PM, Hensley, Richard wrote:
---------------------------------------------------------------------Actually, last time I checked in with the committers, all of the I's in the interfaces were being removed. In my opinion a good thing, reminds me to much of my COM days and makes me twitch.
_____
From: Tapestry Forum User [mailto:[EMAIL PROTECTED] Sent: Thursday, April 21, 2005 1:51 PM To: [email protected] Subject: If we call it Tapestry 4.0, not 3.x, Maybe we would do much
I would like "I" prefix to go in the interface name. As a user of Tapestry, why should I care if RequestCycle is an interface or class (implementation).
Sent using Mail2Forum (http://www.mail2forum.com) Read this topic online here: http://www.tapestryforums.com/viewtopic.php?p=1549#1549 <http://www.tapestryforums.com/viewtopic.php?p=1549#1549>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
-- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.308 / Virus Database: 266.10.2 - Release Date: 4/21/2005
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
