User Tools

Site Tools


naming_conventions

Differences

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

Link to this comparison view

Next revision
Previous revision
naming_conventions [2014/02/19 06:14]
yann created
naming_conventions [2017/09/06 01:54] (current)
Line 1: Line 1:
 ====== Naming Conventions ====== ====== Naming Conventions ======
 +
 +Following common, consistent naming conventions is essential to ease program comprehension and usage.
  
 ===== Test Projects ===== ===== 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. ​+Each project, which is Eclipse plug-in in nature((To allow integration of the UI into Eclipse JDT)), 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.+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 ''​SAD''​ project.
  
 ===== Packages ===== ===== 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 offers 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 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]].
naming_conventions.1392790491.txt.gz ยท Last modified: 2017/09/06 01:54 (external edit)