|
|
# ENOSAR development guidelines
|
|
|
# FREDOSAR development guidelines
|
|
|
|
|
|
## Coding
|
|
|
### IDE
|
... | ... | @@ -6,17 +6,17 @@ We are using Spring Tool Suite as an IDE for Java development: https://spring.io |
|
|
See [Development Environment Setup](development-environment-setup) for further information.
|
|
|
|
|
|
### Project naming
|
|
|
The project name should be a complete identifier for the project. For example, the EnOcean Sample Client is developed in the workspace project `org.enosar.application.enocean.sample.client`. For more details see: [Eclipse Workspace Naming Convetions](https://wiki.eclipse.org/Naming_Conventions#Eclipse_Workspace_Projects)
|
|
|
The project name should be a complete identifier for the project. For example, the EnOcean Sample Client is developed in the workspace project `org.fredosar.application.enocean.sample.client`. For more details see: [Eclipse Workspace Naming Convetions](https://wiki.eclipse.org/Naming_Conventions#Eclipse_Workspace_Projects)
|
|
|
|
|
|
### Namespace
|
|
|
The default namespace for all ENOSAR projects is ```org.enosar```. Depending on what is being developed, a sub package is selected. For core functionality use the package ```org.enosar.core``` or ```org.enosar.mgmt```, for services use ```org.enosar.service```. All internally developed applications from the ENOSAR team will be set to the ```org.enosar.application``` package.
|
|
|
The default namespace for all FREDOSAR projects is ```org.fredosar```. Depending on what is being developed, a sub package is selected. For core functionality use the package ```org.fredosar.core``` or ```org.fredosar.mgmt```, for services use ```org.fredosar.service```. All internally developed applications from the FREDOSAR team will be set to the ```org.fredosar.application``` package.
|
|
|
|
|
|
Examples for different packages:
|
|
|
- org.enosar.core.communication
|
|
|
- org.enosar.mgmt.ui
|
|
|
- org.enosar.application.rassa.smartmeter
|
|
|
- org.enosar.service.io.xmpp
|
|
|
- org.enosar.service.messaging.rabbitmq
|
|
|
- org.fredosar.core.communication
|
|
|
- org.fredosar.mgmt.ui
|
|
|
- org.fredosar.application.rassa.smartmeter
|
|
|
- org.fredosar.service.io.xmpp
|
|
|
- org.fredosar.service.messaging.rabbitmq
|
|
|
|
|
|
### Coding conventions - style guide
|
|
|
Every major project has its own style guide: a set of conventions (sometimes arbitrary) about how to write code for that project. It is much easier to understand a large codebase when all the code in it is in a consistent style.
|
... | ... | @@ -38,4 +38,4 @@ Releases have to be tagged with a version number tag ```v0.1.0``` within the mas |
|
|
To document your work is a very important thing. Try to think about, what is important for a newbee to get started with your code. Always document which functionality is working, which bugs are known and what is not working. Also explain the main ideas behind your code to get started easier.
|
|
|
|
|
|
For documentation use the `README.md` within your project. If you have a more complex documentation work, use the Wiki of the Project.
|
|
|
Here is a [Template](https://ressel.fh-salzburg.ac.at/ENOSAR/Framework/blob/master/service/io/org.enosar.service.io.enocean/readme.md) for the `README.md` |
|
|
Here is a [Template](https://ressel.fh-salzburg.ac.at/FREDOSAR/Framework/blob/master/service/io/org.fredosar.service.io.enocean/readme.md) for the `README.md` |