[
https://issues.apache.org/jira/browse/JSPWIKI-38?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12659767#action_12659767
]
Janne Jalkanen commented on JSPWIKI-38:
---------------------------------------
Andrew, if you read my proposal carefully, you will notice that interface
extraction is the one thing we agree on. So this is not a "interface
extraction vs shunting developers off to a different package" -situation, and
please don't try to represent it as such.
To recap: my proposal is to put the interfaces in a separate package (because
of all the several reasons I have provided above), and your proposal is to keep
them with the regular classes (because it's a non-starter for you).
I would like to hear a bit more fact-based argumentation for your point of
view. I don't think typing four extra letters (".api") is not a problem for
developers, especially since most IDEs are able to fill it in automatically.
So all that remains is your aesthetical objection (which, as Murray points out,
makes it all rather muddy).
There are three additional objections at coding against interfaces:
* Exceptions are not interfaces, so therefore you cannot code purely against an
interface.
* We probably wish to retain the option of having unstable interfaces before
they are graduated into a "stable" interface, which in my proposal is marked by
transferring them from the regular class hierarchy to the .api -class
hierarchy. Similarly, we lose the ability to make unstable "subinterfaces" by
inheriting on a stable interface. For example, certain SPI code could easily
be like this for a while - first releasing it "internally" in 3.1 so that
developers can take a whack at it, then stabilizing it in 3.2.
* It is impossible to tell, just by looking at the source code itself, whether
you are using an interface or a class. Therefore, the developer lacks any
visual cues as to whether he is relying on unstable or stable APIs, and needs
to rely on documentation.
> Rename packages to "org.apache.jspwiki"
> ---------------------------------------
>
> Key: JSPWIKI-38
> URL: https://issues.apache.org/jira/browse/JSPWIKI-38
> Project: JSPWiki
> Issue Type: Task
> Reporter: Janne Jalkanen
> Assignee: Janne Jalkanen
> Fix For: 3.0
>
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.