Skip to content

Latest commit

 

History

History
62 lines (44 loc) · 2.46 KB

contributions.md

File metadata and controls

62 lines (44 loc) · 2.46 KB

Contributing to Commudler


Please make all the pull requests for development branch only. We'll rebase into that and then once tested, will be rebased into master!

General practices for contribution

  • Always add comments for any block of code you introduce for reviewing
  • Indentation should be just perfect to make the code more readable
  • Keep the unnecessary changes out of your commits, if commited anyways, create a new PR
  • Branch names should be like solving-<#issue>- with type being a bug/feature/optimization
  • Make smaller commits with elaborate commit messages

Reporting Issues on Github

Issues can be of the following types majorly:

  • Bugs (anything including security risks)
  • Feature request (always begins with a discussion)
  • Code refactoring/cleaning/optimization
Creating an issue
  • First browse through our issues from THIS PAGE, if you find an existing issue, then you can take it up or start helping the person solving it depending on the status.
  • For bugs:
    • Write as much clear details as possible about the issue
      • Introduction
      • Add steps to reproduce it
      • Add the piece of code which is causing the issue
    • Feature requests:
      • Again, begin with an introduction
      • Think of the feature as a part of the product from the user's perspective
      • We'll begin a public discussion on it and as soon as we reach a conclusion, we'd love to implement it
    • Code Refactoring
      • Introduction again!
      • Post/Link the piece of code which needs to be modified
      • Cite a couple of good examples, use cases where the optimization is already in use, or it might just be a logical optimization (mathematically faster!)

Resolving Existing Issues

  • Bugs

    • First verify that the bug can be reproduced
    • Make the changes on a new branch
    • Write tests if needed
  • Feature Requests

    • Make a plan of what all files you'll need to change
    • Keep the organizers in the loop of everything you're working on, if possible share the progressing code with smaller & working commits so that if the direction needs to be changed then it's done early
    • Update the documentation whereever needed
    • Make these changes on a new branch
  • Code Refactoring

    • Ensure that the optimized code is equally space and time optimized, if possible post some comparisons in the comments for the changes you've made
    • Make these changes on a new branch