Exporting - the wrong default?
Alan Bateman
Alan.Bateman at oracle.com
Wed Jul 27 16:26:38 UTC 2016
On 26/07/2016 17:42, Stephen Colebourne wrote:
> :
>
> I think a key problem is that those working on the JDK have a warped
> sense of what a typical Java project is like. In many projects
> packages change names frequently during development, everything is
> open and locking stuff down is the last thing on peoples minds. While
> this of course leads to slightly less secure software, it does achieve
> *business value*. The current default to force developers to list all
> exports is simply going to slow developers down for no perceived
> benefit.
One thing that I like with the current design is that there is one
authoritative source file that describes the module. It's nice to edit
one source file when you want to examine or change the set of packages
in the API, the dependences, and of course the services used and
provided. Also declaring the set of the API packages that are exported
shouldn't be a big surprise. There are many module systems built on top
of the platform where you will see similar.
I do see your point about it being a potential chore when starting out,
esp. when a new module is in development and the API packages are in
flux. However I would expect that in time that the IDEs, the refactoring
support in particular, will help. Also once the API has settled a bit,
and other modules start depending on your module, then the number of
changes to the exports list will reduce.
-Alan
More information about the jigsaw-dev
mailing list