Re: What are com.blah or org.blah?
Daniel Dyer wrote:
On Thu, 04 Jan 2007 15:39:04 -0000, yaru22 <yaru22@gmail.com> wrote:
Whenever I look at an open source code, I see people write com or org
in their import section.
i.e. import com.blah.blah
import org.blah.blah
What do they stand for? Is it a conventional thing?
The convention is to base your package names on your domain name. The
idea is to avoid naming collisions. For example, nobody but me should
write a class in the org.uncommons.* namespace, so there should never
be another class with the same fully-qualified name as mine. This
means my classes should be able to mix classes from other libraries
without the possibility for naming problems.
Unfortunately, whoever cooked up this convention was obviously somewhere
corporate, where everyone and his brother makes $70,000+/year and they
can all afford to own their own domain names. Apparently in the utopian
workers paradise where noone ever gets laid off and has to let their
$whatever/month business-class Web hosting lapse or face starvation, at
that. And, of course, didn't bother to think up a convention for the
rest of us (tm), us joes who have a consumer broadband account and some
page on Yahoo or Myspace or even, if we're lucky, at www.ourisp.com. But
do we really want to be making huge numbers of com.myspace.MyClass
classes? Somehow I think that defeats the purpose. :)
Has anyone come up with any good alternatives for Java developers
without any domain names to call home? I've seen a few use
org.sourceforge.<projectname>.subpackages-if-any.Foo when they have an
actual sourceforge project, but that's also not exactly
universally-applicable...
I suppose you could use com.myspace.<username-at-myspace>.Foo ...
:)