Hello! If you're reading this it means you're interested in contributing to my repository!
First of all, thanks!
- 📝 Always open an issue; or a discussion for a more open ended confrontation
- ⭕ Keep it simple. That's the philosophy i tried to follow when designing this library and it's what i hope will make it great to use!
- ➗ Divide et impera. When it seems like too much, divide it into many small tasks!
- ✅ Test driven. We do test-driven development. So write a test, and develop around it! Then write some more!
| naming | description | examples |
|---|---|---|
master |
default branch for documentation and major releases | |
rel/M |
holds pre and minor releases | rel/2, rel/3 |
dev/** |
for development of a specific feature. Could be named after an issue | dev/#69, dev/cleanup, dev/feature-name |
fix/** |
used for bug fixing. Should be named after an issue | fix/#70 |
doc/** |
used for documentation. Must be linear and merged with master. | doc/README, doc/reorg |
We follow Microsoft's coding conventions.
- give explanatory and complete names
- fields start with lowercase
myFieldName - properties, classes and methods with uppercase
SomeCoolMethod() - interfaces MUST start with an
I - use tabs for indentation, spaces for alignment
- APIs implementations must be internal
You can also help writing a new test! Find bugs! Try to break things!
Tests structure:
- BlackBox: how the user would use the classes, without knowing the internal state
- Features: tests for secondary features of StackWrappers
- Use Cases: tests for possible irl use cases
- External Assembly: an external empty project to test external assembly imports