User Tools

Site Tools


naming_conventions

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

naming_conventions [2014/02/19 07:57]
yann
naming_conventions [2018/03/04 02:53]
Line 1: Line 1:
-====== Naming Conventions ====== 
  
-Following common, consistent naming conventions is essential to ease program comprehension and usage. 
- 
-===== Test Projects ===== 
- 
-Each project, which are Eclipse plug-in in nature, 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. ​ 
- 
-Any test project 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 ''​SAD''​ project. 
- 
-===== Packages ===== 
- 
-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., ''​SAD''​. 
- 
-A project that offer an interface to be implemented by a variety of algorithms always has a package ''​aaa.bbb''​ and a package ''​aaa.bbb.repository''​. In ''​aaa.bbb''​ are the interface(s) and the repository to dynamically access the algorithms at run-time. Repositories implements 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]]. 
naming_conventions.txt ยท Last modified: 2019/10/06 20:37 (external edit)