Following common, consistent naming conventions is essential to ease program comprehension and usage.
Each project, which is Eclipse plug-in in nature1), should come with a test project, which is a Java project in nature. For example, the
SAD project comes with the
SAD Tests project. Test projects include everything required to compile and run the tests, that means resources too, so they can be big. They use relative paths when accessing resources to run on any platform. They are known to compile and run on Windows and MacOS computers without requiring any changes.
A test project always includes a class
aaa.bbb.test.TestPPP that is the main test suite, where
aaa.bbb is the “main” package of the application project and
PPP the name of the application project. For example, in the
SAD Tests project, there is the package
sad.detection.test that declares the class
TestSAD, which is the main test suite for the
In application and test project, packages follow naming conventions.
A test project always includes a
aaa.bbb.TestPPP class, where
aaa.bbb is the “main” package in the application project, e.g., “sad.detection.test” in
SAD Tests, and
PPP is the name of the application project, e.g.,
A project that offers an interface to be implemented by a variety of algorithms always has a package
aaa.bbb and a package
aaa.bbb are the interface(s) and the repository to dynamically access the algorithms at run-time. Repositories implement the interface
util.repository.IRepository and are
final. In the
aaa.bbb.repository are the algorithms implementing the interface(s). See the page dedicated to repositories.