Java Package Naming
For package naming in java there is already a standard defined by Sun/Oracle to prevent conflicting package names between companies. This is the first guide that must be followed:
http://download.oracle.com/javase/tutorial/java/package/namingpkgs.html (Naming a Package)
Apart from that there is need for a convention to prevent name clashes inside of GSI/FAIR and we suggest to name the packages containing division, department, group, project and module (a part of a project). Like this its possible for projects to span several departments (e.g. FESA) and not to have name clashes in the package naming. So this is our suggestions with some examples:
de.gsi.<division>.<department>.<group>.<project>.<module>
an alternative if the project is done by several groups in a department can be
de.gsi.<division>.<department>.<project>.<module>
Lets imagine a project "commons" that contains code containing some convenience classes and tools. Now lets imagine that several groups and departments have done such a project. The following example shows how the suggested package naming prevents problems:
-
de.gsi.aco.app.commons
– Common tools of Control System department, APP group
-
de.gsi.aco.fec.commons
– Common tools of Control System department, FEC group
-
de.gsi.aco.commons
– Common tools of Cotrol System department
-
de.gsi.bea.commons
– Common tools of Beam Instrumentation department