Hello! Thank you for your interest in this project!
This is contribution guide for Pandora Language - the package description file for Atlas Linux package manager.
If you wanna take a part in this project, please follow provided instructions.
Tip
- Atlas Linux Project: Atlas Linux
- Discord Server: Discord
- License: LICENSE
Found a bug? Want to suggest an improvement? Want to give us some tips?
You can always open new issue in this repository with Issues tab!
Note
Issues requirements:
- Your problem wasn't reported earlier (use search for check).
- Clear and understandable description of problem.
- Provided examples or any other extra information.
Note
- your code matches the project's code style
- your code doesn't break program's work
- you've written readable and understandable code
Note
- Verify your code with project requirements
- Provide necessary examples or any other extra information of changes
- Provide detailed description of your work in pull request
- Format your code with command:
make format
- Namings must be clear and understandable.
Variables/Functions usesnake_case, and for public versions prepend the header it is defined in (for types (excluding structures)_tat the end:token_t).
Structs/Unions/Enums usePascalCaseDefined Constants (#define) should haveSCREAMING_SNAKE_CASE.
Other Constants should have prefixk. - Includes are located at the start, standard library headers must be separated from user header files.
- Repeating code suggested to be in separated function.
- No Magic Numbers. If you need to use that number, declare a constant with it.
- Comments should be minimal and helpful. Please do not leave a comment saying "foo gets set to 7"
Always leave necessary documentation for provided API and changes. - The code blocks should not be "glued together", they should be separated according to their logical meaning. AKA put line breaks after loops, group variables, etc.
- Header Guard should follow next syntax:
PROJECTNAME_[SUBDIRS_]MODULENAME_H_PROJECTNAME- uppercase project name (herePND)SUBDIRS- optional nested directoriesMODULENAME- uppercase module name- Suffix
His mandatory