CONTRIBUTING.md
Thank you for considering contributing to this project! We appreciate your interest and efforts to make this repository better. Please take a moment to review the following guidelines to ensure a smooth and effective collaboration.
- Ways to Contribute
- Contributing Process
- Code Style and Guidelines
- Bug Reports
- Feature Requests
- Pull Requests
- Community Guidelines
- License
There are several ways to contribute to this project:
-
Reporting Bugs: If you come across any bugs or issues, please report them using the issue tracker. Include as many details as possible, such as a clear description, steps to reproduce, and expected vs actual behavior.
-
Feature Requests: If you have ideas for new features or improvements, you can submit them using the issue tracker. Provide a detailed explanation of the feature and its benefits.
-
Code Contributions: You can contribute to the project by submitting pull requests. You can work on existing issues or propose new enhancements. Refer to the Contributing Process section for more details.
To contribute to this project, follow these steps:
-
Fork the Repository: Click the "Fork" button on the top-right corner of this repository to create a copy of the project in your GitHub account.
-
Clone the Repository: Clone the forked repository to your local machine using the following command:
git clone https://github.com/sobit-nep/python-interview-coding-challenges.git -
Create a Branch: Create a new branch to work on your feature or bug fix:
git checkout -b feature/your-feature -
Make Changes: Make your desired changes to the codebase, following the Code Style and Guidelines mentioned below.
-
Commit Changes: Commit your changes with a descriptive commit message:
git commit -m "Add your commit message here" -
Push Changes: Push your changes to the branch in your forked repository:
git push origin feature/your-feature -
Submit Pull Request: Go to the original repository on GitHub and click the "New Pull Request" button. Fill in the necessary details about your changes and submit the pull request.
-
Review and Discussion: The maintainers of the repository will review your pull request and provide feedback. Be responsive to any feedback or change requests.
-
Merge and Close: Once your pull request is approved and all discussions are resolved, it will be merged into the main repository. Congratulations on your successful contribution!
To maintain a consistent codebase, follow these guidelines:
- Follow the Python PEP 8 style guide for code formatting and naming conventions.
- Write clear and concise comments to improve code readability.
- Include unit tests for any new code or modifications to ensure proper functionality.
- Ensure your code passes any existing unit tests and linting checks.
- Document any new features, classes, functions, or modules using docstrings.
If you encounter any bugs in the project, please follow these guidelines for reporting them:
- Before reporting a bug, check the existing issues to see if it has already been reported.
- Use the issue tracker to create a new bug report, providing a clear and concise title that summarizes the issue.
- Include a detailed description of the bug, including the steps to reproduce it and any error messages or unexpected behavior observed.
- If applicable, include the version of the project, the operating system, and any relevant dependencies.
- Include any additional information or context that may help in understanding and resolving the bug.
If you have an idea for a new feature or an enhancement to existing functionality, please follow these guidelines for submitting a feature request:
- Use the issue tracker to create a new feature request, providing a descriptive title that reflects the proposed feature.
- Clearly explain the motivation behind the feature request and how it would benefit the project.
- Provide a detailed description of the proposed feature, including any specific requirements or considerations.
- If possible, provide examples or use cases to illustrate the expected behavior of the feature.
To submit a pull request with your code contributions, please adhere to the following guidelines:
- Fork the repository and create a new branch for your changes.
- Make sure your code follows the established code style and guidelines.
- Include clear commit messages that describe the purpose of your changes.
- If your pull request addresses an existing issue, reference it using the issue number in your commit message or pull request description.
- Ensure that your code is well-tested, and all tests pass successfully.
- Update any relevant documentation to reflect your changes, if necessary.
When participating in discussions or contributing to this project, please adhere to the following community guidelines:
- Be respectful and considerate of others' opinions and ideas.
- Use clear and concise language in your communications.
- Stay on topic and keep discussions relevant to the project.
- Avoid personal attacks, harassment, or offensive language.
- Help create an inclusive and welcoming environment for all participants.
By contributing to this project, you agree that your contributions will be licensed under the same license as the project. Make sure to read and understand the project's license before making any contributions.
Thank you for taking the time to read and follow these contributing guidelines. We appreciate your contributions and look forward to working with you to improve this project!