Thank you for contributing SwissRETS
Submitting a change request or an idea
- Go to the new issue page
- Make sure you fill only a single topic per issue
- Choose your template
- Please use english
Pull request process
- 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.
Developing - before you start
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 startthis 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.
- 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
Ease of use
SwissRETS is easy to use
- We try to have as little documentation as necessary
- Try to write selfspeaking code, to avoid documentation
General naming rules
- 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
XML best practice
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