- 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
Issues can be of the following types majorly:
- Bugs (anything including security risks)
- Feature request (always begins with a discussion)
- Code refactoring/cleaning/optimization
- 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!)
- Write as much clear details as possible about the issue
-
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