Default resources - Contributing: Difference between revisions
Fernando187 (talk | contribs) No edit summary |
Fernando187 (talk | contribs) m (WIP note) |
||
(7 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
This page is related to the [https://github.com/multitheftauto/mtasa-resources mtasa-resources] project. Read more about it here: [[Default resources]] | |||
{{Note|This article is currently '''Work In Progress'''}} | |||
<h2>Introduction</h2> | |||
<p>We appreciate your interest in contributing to the development and improvement of the <strong>Default Lua resources that come with the Multi Theft Auto (MTA) multiplayer mod</strong>. To ensure high-quality code and a smooth collaboration process, please adhere to the following <strong>coding guidelines and contributing rules</strong>.</p> | |||
<h2>Coding Guidelines</h2> | <h2>Coding Guidelines</h2> | ||
Line 7: | Line 12: | ||
<li>Follow the [https://en.wikipedia.org/wiki/Don%27t_repeat_yourself DRY (Don't Repeat Yourself)] principle.</li> | <li>Follow the [https://en.wikipedia.org/wiki/Don%27t_repeat_yourself DRY (Don't Repeat Yourself)] principle.</li> | ||
<li>Adhere to the [https://en.wikipedia.org/wiki/KISS_principle KISS (Keep It Simple, Stupid)] principle.</li> | <li>Adhere to the [https://en.wikipedia.org/wiki/KISS_principle KISS (Keep It Simple, Stupid)] principle.</li> | ||
<li>Use meaningful variable and function names that convey | <li>Use meaningful variable and function names that convey their purpose.</li> | ||
<li>Comment your code where necessary to explain the logic.</li> | <li>Comment your code where necessary to explain the logic.</li> | ||
</ul> | </ul> | ||
<h3>Indentation and Formatting</h3> | <h3>Indentation and Formatting</h3> | ||
<p> | <p>Ensure your code editor (e.g. [https://code.visualstudio.com/ Visual Studio Code]) applies the rules established by the project's <b>.editorconfig</b> file.</p> | ||
<h3>Consistent Naming Conventions</h3> | |||
TODO | |||
<h3>Use of Constants</h3> | |||
TODO | |||
<h3>Script Security</h3> | <h3>Script Security</h3> | ||
<p>Follow the [[Script security]] principles established for MTA:SA scripts.</p> | <p>Follow the [[Script security]] principles established for MTA:SA scripts to ensure the safety and integrity of your code.</p> | ||
<h3>Error Handling</h3> | |||
TODO | |||
<h3>Performance Considerations</h3> | <h3>Performance Considerations</h3> | ||
<ul> | <ul> | ||
<li>Avoid unnecessary computations within loops.</li> | <li>Avoid unnecessary computations within loops.</li> | ||
<li>Cache results of expensive operations | <li>Cache results of expensive operations whenever possible.</li> | ||
<li>Use local variables to improve performance.</li> | <li>Use local variables to improve performance.</li> | ||
</ul> | </ul> | ||
Line 60: | Line 74: | ||
<h3>Submitting Pull Requests</h3> | <h3>Submitting Pull Requests</h3> | ||
<ul> | <ul> | ||
<li>Fork the repository and create a new branch for your feature or | <li>Fork the repository and create a new branch for your feature or bug fix.</li> | ||
<li>Ensure your code follows the coding guidelines outlined above.</li> | <li>Ensure your code follows the coding guidelines outlined above.</li> | ||
<li>Commit small, atomic changes with clear commit messages.</li> | |||
<li>Include a clear and descriptive title and description of your changes.</li> | <li>Include a clear and descriptive title and description of your changes.</li> | ||
<li>Reference any related issues in your pull request description.</li> | <li>Reference any related issues in your pull request description.</li> | ||
Line 74: | Line 89: | ||
<li>Once approved, your pull request will be merged into the main branch.</li> | <li>Once approved, your pull request will be merged into the main branch.</li> | ||
</ul> | </ul> | ||
[[Category: Development]] | [[Category: Development]] |
Latest revision as of 09:22, 4 July 2024
This page is related to the mtasa-resources project. Read more about it here: Default resources
Note: This article is currently Work In Progress |
Introduction
We appreciate your interest in contributing to the development and improvement of the Default Lua resources that come with the Multi Theft Auto (MTA) multiplayer mod. To ensure high-quality code and a smooth collaboration process, please adhere to the following coding guidelines and contributing rules.
Coding Guidelines
General Principles
- Write clear, readable, and maintainable code.
- Follow the DRY (Don't Repeat Yourself) principle.
- Adhere to the KISS (Keep It Simple, Stupid) principle.
- Use meaningful variable and function names that convey their purpose.
- Comment your code where necessary to explain the logic.
Indentation and Formatting
Ensure your code editor (e.g. Visual Studio Code) applies the rules established by the project's .editorconfig file.
Consistent Naming Conventions
TODO
Use of Constants
TODO
Script Security
Follow the Script security principles established for MTA:SA scripts to ensure the safety and integrity of your code.
Error Handling
TODO
Performance Considerations
- Avoid unnecessary computations within loops.
- Cache results of expensive operations whenever possible.
- Use local variables to improve performance.
Early Return
To improve code readability, prefer using early returns to handle error conditions or special cases at the beginning of functions. This helps to avoid deep nesting and makes the main logic easier to follow.
-- Bad example function exampleFunction(value) if value > 0 then -- Some logic here if value < 100 then -- More logic here if value ~= 50 then -- Main logic here end end end end -- Good example function exampleFunction(value) if value <= 0 then return end if value >= 100 then return end if value == 50 then return end -- Main logic here end
Contributing Rules
Submitting Issues
- Check the existing issues before submitting a new one to avoid duplicates.
- Provide a clear and descriptive title and detailed information about the issue.
- Include steps to reproduce the issue, if applicable.
Submitting Pull Requests
- Fork the repository and create a new branch for your feature or bug fix.
- Ensure your code follows the coding guidelines outlined above.
- Commit small, atomic changes with clear commit messages.
- Include a clear and descriptive title and description of your changes.
- Reference any related issues in your pull request description.
- Ensure your code does not introduce new issues or break existing functionality.
- Be responsive to feedback and make necessary changes requested during the review process.
Review Process
- All pull requests will be reviewed by project maintainers.
- Feedback and requests for changes will be provided through the pull request comments.
- Once approved, your pull request will be merged into the main branch.