furtop/CONTRIBUTING.md

52 lines
1.8 KiB
Markdown
Raw Normal View History

2024-12-16 09:21:58 +01:00
# Contributing guidelines
## When submitting pull requests
* Explain your thinking in why a change or addition is needed.
* Is it a requested change or feature?
* If not, open a feature request to get feedback before making a pull request.
* If it's a fix for a unreported bug, make a bug report and link the pull request.
* Split up multiple unrelated changes in multiple pull requests.
* [Shellcheck](https://github.com/koalaman/shellcheck) your work. Current shellsheck exceptions at the beginning of [furtop](furtop).
* Purely cosmetic changes won't be accepted without a very good explanation of its value.
* (Some design choices are for better configurability of syntax highlighting.)
## Formatting
### Follow the current syntax design
* Indent type: Tabs
* Tab size: 4
* Use the longer "if, elif, then, else, fi" statements and indent conditionals, loops etc.
* Use "[[ ]]", "(( ))" for conditions and "$( ), <( )" for command substitution.
* Create functions instead of repeating blocks of code.
* Don't stack unrelated blocks of code, leave blank lines for better readability.
* Comment new code that isn't very obvious in it's function.
* Name new variables and functions in lower-case and after what purpose they serve.
* (Exception arithmetic with many variables, make sure to comment what's happening instead.)
## Optimization
* Avoid forks if possible.
* Avoid writing to disk if possible.
* Make sure variables/arrays are cleaned up if not reused.
* Compare cpu and memory usage with and without your code and look for alternatives if they cause a noticeable negative impact.
For questions contact Aristocratos at admin@qvantnet.com
For proposing changes to this document create a [new issue](https://github.com/aristocratos/furtop/issues/new/choose).