Структура проекта Retrascope » History » Version 4
Sergey Smolov, 06/18/2014 06:56 PM
1 | 1 | Sergey Smolov | h1. Project Structure |
---|---|---|---|
2 | |||
3 | retrascope - базовый пакет |
||
4 | |||
5 | 2 | Sergey Smolov | В корне пакета помещен "пускач" *Retrascope* - исполняемый класс проекта. |
6 | Это единственный класс в данном пакете и его подпакетах, имеющий функцию main. |
||
7 | 4 | Sergey Smolov | |
8 | Существует соглашение по размещению JUnit-тестов. Тест должен быть размещен в том же пакете, что и проверяемый класс, но в папке test/java. |
||
9 | |||
10 | Например, если тест проверяет корректность работы класса, находящегося в файле @retrascope/src/main/java/ru/ispras/retrascope/basis/MyClass.java@, |
||
11 | то тест должен быть размещен в файле @retrascope/test/java/ru/ispras/retrascope/basis/MyClassTestCase.java@. |
||
12 | 1 | Sergey Smolov | |
13 | Пакет retrascope содержит следующие пакеты: |
||
14 | |||
15 | 2 | Sergey Smolov | 1) *basis* - содержит базовые сущности для всего проекта. Предполагается, что эти сущности могут использоваться в классах, находящихся в пакетах того же уровня, что и basis, а также в их подпакетах любой вложенности. |
16 | 1 | Sergey Smolov | |
17 | 2 | Sergey Smolov | 2) *model* - содержит внутренние представления моделей исходного кода. Замечу, что сущности из пакета model.basis могут использоваться любыми классами, находящимися во всех подпакетах пакета model |
18 | 1 | Sergey Smolov | |
19 | 2 | Sergey Smolov | 3) *engine* - содержит инструменты, работающие с моделями из пакета model. Например, любой инструмент, работающий с моделью из пакета model.efsm, должен быть реализован в пакете engine.efsm. |
20 | 1 | Sergey Smolov | |
21 | 2 | Sergey Smolov | 4) *parser* - содержит инструменты, работающие с самим исходным кодом (т.е. с текстовыми файлами HDL-описаний). |
22 | 1 | Sergey Smolov | |
23 | 2 | Sergey Smolov | 5) *testbench* - содержит элементы представления тестового окружения |
24 | 1 | Sergey Smolov | |
25 | 2 | Sergey Smolov | 6) *util* - содержит разные классы с "полезными" методами. В будущем, возможно, этот пакет будет уничтожен, а его классы - распределены по более подходящим пакетам. |