Project

General

Profile

Структура проекта Retrascope » History » Revision 4

Revision 3 (Sergey Smolov, 05/16/2014 05:38 PM) → Revision 4/16 (Sergey Smolov, 06/18/2014 06:56 PM)

h1. Project Structure 

 retrascope - базовый пакет 

 В корне пакета помещен "пускач" *Retrascope* - исполняемый класс проекта. 
 Это единственный класс в данном пакете и его подпакетах, имеющий функцию main. 

 Существует соглашение по размещению JUnit-тестов. Тест должен 
 Если есть желание написать класс с main-методом, то разбивайте такой класс на исполняемую и неисполняемую части. Исполняемая часть должна быть размещен размещена в том же пакете, что и проверяемый запускаемый в ней класс, но в папке test/java.  

 Например, если тест проверяет корректность работы класса, находящегося в файле @retrascope/src/main/java/ru/ispras/retrascope/basis/MyClass.java@, 
  то тест должен быть размещен в файле @retrascope/test/java/ru/ispras/retrascope/basis/MyClassTestCase.java@. 

 Пакет retrascope содержит следующие пакеты: 

 1) *basis* - содержит базовые сущности для всего проекта. Предполагается, что эти сущности могут использоваться в классах, находящихся в пакетах того же уровня, что и basis, а также в их подпакетах любой вложенности. 

 2) *model* - содержит внутренние представления моделей исходного кода. Замечу, что сущности из пакета model.basis могут использоваться любыми классами, находящимися во всех подпакетах пакета model 

 3) *engine* - содержит инструменты, работающие с моделями из пакета model. Например, любой инструмент, работающий с моделью из пакета model.efsm, должен быть реализован в пакете engine.efsm. 

 4) *parser* - содержит инструменты, работающие с самим исходным кодом (т.е. с текстовыми файлами HDL-описаний). 

 5) *testbench* - содержит элементы представления тестового окружения 

 6) *util* - содержит разные классы с "полезными" методами. В будущем, возможно, этот пакет будет уничтожен, а его классы - распределены по более подходящим пакетам.