Re: Package naming, disk organization
On 7/1/2013 5:39 PM, Dave wrote:
I'm having fun with Java (really!), but the real-world use of packages
is driving me crazy. If I were a corp. with a web site I might have a
something like this: org.davesjava.firstlgproj for a package
specification. I guess the disk drive files would be something like:
home/org/davesjava/firstlgproj (I use Linux, so there are no '\').
However:
* I don't have a commercial organization (yet), so I would need
something else - but what? Would jsoft.davesjava.firstlgproj be ok? It
seems to work for one trial, but down the road...
* I read that Java programmers like to have a source path and a class
path on the hard drive, which makes sense. So how does that work for
package specifications? Would it be: src/jsoft/davesjava/firstlgproj
and class/jsoft/davesjava/firstlgproj ? Assuming so, would a package
specification of jsoft.davesjava.firstlgproj still be ok?
* There is a conflict between a simple file structure and a conventional
package specification. For example, I may like:
home/jsoft/src/firstlgproj and home/jsoft/class/firstljproj , but that
translates into jsoft.class.firstlgproj - not exactly to convention.
So, I'm looking for some suggestions from people that have been there
done that.
I concur with markspace and Martin Gregorie. As for the
actual package name, it matters a lot less nowadays than it may
have when Java was young. Y'see, the tools have learned about
Java and can easily "refactor" a package: Start with dboland.foo,
later change your mind and choose com.bigcompanythatboughtme.foo,
and the tools will handle the rename -- both of the renamed package
and of references to it in extra-package files.
That, of course, assumes all the relevant sources are visible to
the tool when the rename occurs. If you've already distributed the
dboland.foo package to umpty-leven other people who've been writing
their own code to use it, they may be somewhat perturbed when your
next patch release arrives and changes the world. But as long as the
code is in a "pre-public" stage, dboland.whatever is fine.
--
Eric Sosman
esosman@comcast-dot-net.invalid