In this blog, I will explain the mistakes I have done with some solutions I have come up with.
1. Commit message
- The most common thing in open source is to commit and push. In commit, we write a commit message to tell the person how going to review the code that what changes are done most important why. Now coming to my part when I start working in phase 1 I have just started using git for something serious where my PR was reviewed thoughtfully before this I was just writing small commit messages for small PR like lines get change. So I wrote the code and commit a short one-line message and started working on another part. One day I saw one of the mentors had given examples on how to write a commit message most why to write commit message with example.
This is not a good format for commit messages ❎
This was the message I was using earlier. This message does not have meaning because this message does not tell why changes have been done or what changes are in short.
This is good formate for commit messages. ✅
“ TouchCompatibility: Touch Implemented -ZadeAbhishek
All touch listners are active and working
1.New function getCoordinate is added
2.Hover properties of circuitElements are changed
-Hover behave differently in touch also it’s most imp property”
This was my latest commit message and this message tells a lot about what I have committed and why I have I have committed.
2. Commit length
When I start contributing to open source I just started with changing one line of change in some repository. To change one line we need just one commit. But as soon as we write large code we
To commit to every change we do is like documenting the work. So mistake I have do is I have started working and complete everything in just one commit this became a problem for my mentor because they were not able to find what was the direction of my commit messages like how I have done changes or written new code. For I have to close my old pull Request and start with a fresh Pull Request with a commit for each progress.
Tip: Not too much commit length is also not appreciated just that much commit messages that explain your direction or how you write code or what you write in code.
3. Testing of code repeatedly
When a programmer writes a piece of code he tests it. It’s the basic nature of every developer and also the most important. Testing tells you if your code is good for critical conditions. But here the question is how much you should test your code? when I started coding for GSoC I was just testing for one base case I was not testing it for another case to be exact my project is on touch compatibility so the UI I have created for the small screen needs to be tested for the small screen I just use to test on browser developer mode. The mistake I have done I was not testing on physical testing it on a physical device. I realize this mistake when my one of the mentor points out.
To solution to this mistake:
Write down the cases and range your code is going to use
In my case, I have made a list of all devices I have to test within the small-screen version.
4. Code format
When you write the code the most important thing is the structure of code. The code is said to be good code or quality code if it’s easy to understand with proper syntax. When I started in the GSoC phase I was just writing the code that my mind developed.No proper structure no proper syntax my code was running without error but it was difficult to understand for another developer.
This mistake I realize with the first Pull Request I made in Phase 1 was also one of the reasons I have to close my first PR and start working with new and fresh PR.
The solution to this problem:
We can lint the code. Linting is the automated checking of your source code for programmatic and stylistic errors
Hello Everyone, I am Abhishek R. Zade, currently an undergrad student in Information Technology at All India Shree Shivaji Memorial Society Pune.Savitri Bai Phule Pune University. I am in my third year. Currently, I am working with an open-source organization name CircuitVerse in this year’s GSoC.
About my project
My project is on Touch Compatibility with CircuitVerse Website. The current situation of the CircuitVerse website is, it supports only desktop browsers i.e mouse, it does not have any touch support. So I aim to bring out a website for touch devices, so more users can enjoy making circuits on their smartphones.