Skip to content

Latest commit

 

History

History
119 lines (69 loc) · 5.88 KB

CONTRIBUTING.md

File metadata and controls

119 lines (69 loc) · 5.88 KB

Contributing to OOPs

Thank you for your interest in contributing to OOPs! We welcome contributions from the community to make our project better.

Please take a moment to read the following guidelines to understand how you can contribute effectively.

Table of Contents

Code of Conduct

Please note that this project has adopted a Code of Conduct. We expect all contributors to adhere to it. Please read the full text so that you understand the behavior we expect.

How Can I Contribute?

There are several ways you can contribute to this project:

  • Reporting bugs
  • Suggesting enhancements
  • Writing code
  • Improving documentation
  • Sharing your feedback and ideas
  • Add a newconcepts

Please follow the guidelines outlined below for each type of contribution.

Reporting Bugs

If you come across a bug or an issue with the project, please follow these steps:

  1. Search for Existing Issues: Check if the issue has already been reported by searching the GitHub Issues page.

  2. Create a New Issue: If the issue is not already reported, please create a new issue. Be sure to include as much detail as possible, including a clear description and any relevant code or error messages.

  3. Follow Up: Be prepared to provide additional information or clarification if needed and engage in discussions to help us investigate and resolve the issue.

Suggesting Enhancements

If you have an idea for an enhancement or a new feature, please follow these steps:

  1. Check Existing Enhancements: Look through the GitHub Issues to see if your idea has already been suggested.

  2. Create a New Issue: If it's a new idea, please create a new issue and clearly describe the enhancement you have in mind. Be specific and provide context for why it would be valuable.

  3. Discuss and Collaborate: Engage in discussions with the maintainers and the community to refine the enhancement proposal and get feedback.

Pull Request Guidelines

We welcome contributions in the form of pull requests (PRs). Here are some guidelines for creating PRs:

  1. Fork the Repository: Start by forking the OOPs-Repository to your own GitHub account.

  2. Create a Branch: Create a new branch for your changes. Use a descriptive branch name (e.g., feature/my-new-feature).

  3. Make Changes: Make your changes, adhering to the project's coding style and guidelines.

  4. Test Your Changes: Ensure that your changes work as intended and do not introduce new issues.

  5. Documentation: If your changes affect user documentation, please update the documentation accordingly.

  6. Submit a Pull Request: Open a pull request from your forked repository to the original repository's main branch.

  7. Code Review: Be prepared to participate in code reviews and address any feedback or suggestions from the maintainers.

  8. Squash Commits: If you make multiple commits, consider squashing them into a single commit with a clear and concise commit message.

  9. License: Ensure that your contributions comply with the project's license.

One Concept per PR

We follow a strict guideline in this project: One Concept per Pull Request (PR). When contributing code or changes, please ensure that each PR focuses on a single concept, feature, or bug fix.

This guideline helps maintain code clarity, simplifies code reviews, and ensures that each PR is well-contained and easy to understand. It also allows for more straightforward testing and troubleshooting.

When creating a PR, make sure to:

  • Clearly describe the concept, feature, or fix addressed by the PR.
  • Avoid bundling unrelated changes in a single PR.
  • Keep the scope of the PR limited to the chosen concept.

By following this guideline, we can maintain a clean and organized codebase that is easier to maintain and collaborate on.

Branch Naming Convention

In this project, we follow a specific branch naming convention to organize code related to different programming languages and Object-Oriented Programming (OOP) concepts. Branch names should follow the format:

  • [DirName]: The name of the directory or programming language you are working with. For example, Java, Cpp, Python, etc.
  • [Oops-Concept]: The specific OOP concept you are exploring or implementing. For example, Inheritance, Polymorphism, Encapsulation, etc.

Here are some examples of valid branch names:

  • Java_Multiple-Inheritance
  • Cpp_Class
  • Python_Polymorphism

By following this naming convention, it becomes easier to track and manage branches related to different programming languages and OOP concepts within the project.

Development Setup

If you're interested in contributing code, please refer to the development setup instructions for details on setting up your development environment.

License

By contributing to [Your Repository Name], you agree that your contributions will be licensed under the LICENSE of the project.

Thank you for your contributions, and we appreciate your help in making [Your Repository Name] a better project!

If you have any questions or need assistance, please feel free to reach out to us.

Writer @dev-madhurendra and contributors, Sept 2023.