Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "OAW Developer Guidelines"
(→Coding) |
(→Testing) |
||
Line 41: | Line 41: | ||
* Unit tests should test a single feature only. Avoid tests that depend on a large number of features. Tests will be far easier to maintain. --[[User:Jan.koehnlein.itemis.de|Jan.koehnlein.itemis.de]] 08:51, 30 April 2008 (EDT) | * Unit tests should test a single feature only. Avoid tests that depend on a large number of features. Tests will be far easier to maintain. --[[User:Jan.koehnlein.itemis.de|Jan.koehnlein.itemis.de]] 08:51, 30 April 2008 (EDT) | ||
* Never release before all tests are green on the build server. --[[User:Jan.koehnlein.itemis.de|Jan.koehnlein.itemis.de]] 08:51, 30 April 2008 (EDT) | * Never release before all tests are green on the build server. --[[User:Jan.koehnlein.itemis.de|Jan.koehnlein.itemis.de]] 08:51, 30 April 2008 (EDT) | ||
+ | * If a test cannot be fixed, it is either obsolete or something is terribly wrong. Delete obsolete tests, fix all others. Never ignore failing tests. --[[User:Jan.koehnlein.itemis.de|Jan.koehnlein.itemis.de]] 09:14, 30 April 2008 (EDT) | ||
+ | * All tests must also succeed on the build server. --[[User:Jan.koehnlein.itemis.de|Jan.koehnlein.itemis.de]] 09:14, 30 April 2008 (EDT) | ||
== Build == | == Build == | ||
* If the nightly build fails, it must be fixed ASAP. --[[User:Jan.koehnlein.itemis.de|Jan.koehnlein.itemis.de]] 08:51, 30 April 2008 (EDT) | * If the nightly build fails, it must be fixed ASAP. --[[User:Jan.koehnlein.itemis.de|Jan.koehnlein.itemis.de]] 08:51, 30 April 2008 (EDT) |
Revision as of 09:14, 30 April 2008
Contents
oAW Developer Guidelines
The purpose of this page is to
- centrally collect suggestions for policies and procedures for the development of openArchitectureWare 5
- agree upon policies and procedures
- provide new developers an easier start
Feel free to add your own suggestions and mark them with your name to make discussions easier.
Don't correct other user's suggestions. We should first collect ideas and then discuss critical issues.
It's not our objective to establish a heavy-weight process for oAW development. Make sure your suggestions are not to restrictive to keep oAW agile.
If some of these suggestions appear trivial or common sense to you, they might not be for others (especially new developers). So please ignore them gracefully unless you disagree.
Platform
- Code must comply to Java 5 --Jan.koehnlein.itemis.de 08:51, 30 April 2008 (EDT)
- Target platform is Eclipse 3.3 (4?) --Jan.koehnlein.itemis.de 08:51, 30 April 2008 (EDT)
Coding
- Internal packges must have internal in their name --Jan.koehnlein.itemis.de 08:56, 30 April 2008 (EDT)
- If you add a (source-)folder make sure to update build.properties. --Jan.koehnlein.itemis.de 08:56, 30 April 2008 (EDT)
- Generated code should always reside in separate folder clearly marked as generated, such as src-gen or emf-gen. I'd prefer to even generate code into spearate plug-ins, as some files, like MANIFEST.MF cannot be merged. --Jan.koehnlein.itemis.de 09:04, 30 April 2008 (EDT)
Code Repository
- Everything that is checked into the repository must compile and must not break the build. --Jan.koehnlein.itemis.de 08:51, 30 April 2008 (EDT)
- If you change code, make sure the unit tests are OK before you commit. --Jan.koehnlein.itemis.de 08:51, 30 April 2008 (EDT)
- Avoid checking in generated code. Find out how to automtically run the generator on the build server. --Jan.koehnlein.itemis.de 09:09, 30 April 2008 (EDT)
Plug-ins
- We maintain one team project set in the CVS that is always up-to-date. --Jan.koehnlein.itemis.de 08:51, 30 April 2008 (EDT)
- A Plug-in's ID must be the same as the project's name. --Jan.koehnlein.itemis.de 08:51, 30 April 2008 (EDT)
- Separate UI code and non-UI code in different plug-ins. --Jan.koehnlein.itemis.de 08:51, 30 April 2008 (EDT)
- If you add a plug-in, you must add it to the team project set. --Jan.koehnlein.itemis.de 08:51, 30 April 2008 (EDT)
- If you add a plug-in, add it to at least one feature. --Jan.koehnlein.itemis.de 08:51, 30 April 2008 (EDT)
- The name of a feature should always end with .feature. --Jan.koehnlein.itemis.de 08:57, 30 April 2008 (EDT)
Testing
- Unit tests reside in a separate plug-in named <name of the plug-in to be tested>.tests --Jan.koehnlein.itemis.de 09:00, 30 April 2008 (EDT)
- Unit tests should test a single feature only. Avoid tests that depend on a large number of features. Tests will be far easier to maintain. --Jan.koehnlein.itemis.de 08:51, 30 April 2008 (EDT)
- Never release before all tests are green on the build server. --Jan.koehnlein.itemis.de 08:51, 30 April 2008 (EDT)
- If a test cannot be fixed, it is either obsolete or something is terribly wrong. Delete obsolete tests, fix all others. Never ignore failing tests. --Jan.koehnlein.itemis.de 09:14, 30 April 2008 (EDT)
- All tests must also succeed on the build server. --Jan.koehnlein.itemis.de 09:14, 30 April 2008 (EDT)
Build
- If the nightly build fails, it must be fixed ASAP. --Jan.koehnlein.itemis.de 08:51, 30 April 2008 (EDT)