As my journey continues in learning about working with other developers, I ran into the com. prefix question. A lot of Java people I had asked about why do they do that prefixing of com to their class paths replied, “Because it’s industry common practice.” Hogwash… OOP is industry practice, right? Bleh.
People who say things like that to me quickly turn me off to doing the “common practice”. It’s the same reason my math teacher disliked me in her class in school; I’d always ask “I know we’re solving a problem, but what problem is this equation solving?” I always wanted to know why algebra and geometry was important; where would you use it, and if her answer didn’t suffice, then screw it, why waste time on it?
I’ve grown a tad more mature since then; instead of asking 1 person, I ask many. I know someone’s got the answer, it’s just a matter of finding someone who does, or who does AND is willing to part with it.
I figured since Macromedia doesn’t do it, and I see no point of com, why should I?
One of the developers I work with who is helping me replied:
– in java, if you deploy code bases server-side, you’ll have different packages for different projects and/or server configurations. So, com will be for the site.com, whilst org. will be for the site.org; the open source version.
So, it’s more about an implementation detail made more encapsulated into a high level package path giving it name and purpose vs. “just because everyone else does it.”
Granted, Flash code doesn’t get deployed server-side (but Flex does, and I’ve made Central run as a server…), but it does get deployed client-side. Case in point, if we decided to release an open-source version of our code from here at work, we’d release it as org.roundboxmedia instead of com, since com applies to our commercial products that either we own, or the client does (although, from my understanding, we own most of the code and sell it as various products), whilst org would be us supporting an open source initiative(s).
– name context helps in server deployment
– name context helps in code distribution to various clients
That was enough to sell me!
* B, sorry for the late response; took me awhile to gather my thoughts on this.
Anyone else got other reasons?