-
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 your work. Current shellsheck exceptions at the beginning of bashtop.
-
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.)
-
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.)
-
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 [email protected]
For proposing changes to this document create a new issue.