- Go to the new issue page
- Make sure you fill only a single topic per issue
- Choose your template
- Please use english
- Submit
- Ensure all your changes follow the principles and rules of this document.
- Update the documentation (Wiki) with details of changes, if needed.
- Increase the version number according to semver using
npm version patch|minor|major
- A maintainer will then take care about merging the pull request.
You're very welcome to fork the project and send pull requests.
- Use an editor that supports Editorconfig or install the plugin
- Install Node >8
- Install .NET core SDK
- Fork the project - hit the Fork button on qualipool/swissrets - top right corner
- Clone your fork locally
npm i
npm start
this brings up nodemon to re-run all tests if the schema or example files change.
Mainly targeting the ./schema/schema.xsd
While we strive for all three, if we have conflicts, this list acts as priorities.
- Consistency
- Cleanness
- Ease of use
SwissRETS is predictable.
- Always solve the same things the same way
- Have clear naming rules (TODO: add link)
- Take time to refactor inconsistencies
SwissRETS is tidy and clean
- Use real english words to name things
- No abbrevations
- Proper indentation (4 spaces)
- Use syntax checks
SwissRETS is easy to use
- We try to have as little documentation as necessary
- Try to write selfspeaking code, to avoid documentation
-> schema/schema.xsd
- use real english words
- for node and attribute names use camelCase
- for attribute values use 'dash-separated-lower-case-words'
- use a top-down naming schema, start with the broadest thing first and become more specific after
- good: entryHallHeight, baths
- bad: heightOfEntryHall, numberOfBaths
tags should have values
- avoid using empty tags, whenever possible
tags over attributes
- when in doubt, use tags over attributes
- tags are easier to document and extend in the future
- tags requre less documentation