Boosting Coding Productivity with Github Copilot: My Journey and Insights
Tags: githubcopilot, ai, coding, softwareengineering
Published: 2023-12-10 14:22:42

Hello fellow developers and tech enthusiasts,

As a developer, finding tools that improve our workflow is crucial. I want to share my experience with a tool that has significantly changed my coding routine: Github Copilot. This AI-powered helper has not only made my coding more efficient but also more enjoyable. In this post, I'll talk about how Copilot has enhanced my productivity and the specific features that make it a standout tool in my daily coding life.


Github Copilot is the most important artificial intelligence tool that has actually increased my productivity by at least 30% daily in coding and problem-solving, and I also learn from them at times.

For a very long time, I used **Tabnine** because it was free. It worked well for me and helped, but its problem was in accuracy or that its suggestions were generally not consistent with the project I was working on.

But after using Github Copilot for more than a month, I can say the difference between them is vast.

Here, I will highlight some of the features and drawbacks I noticed in Github Copilot that helped me a lot:


- **Accuracy in suggestions**: The accuracy of its results is often not less than 90%, and of course, it reaches 100% many times, and if less, it’s not below 80% mostly.

<br/>

- **Suggestions are consistent with the project**: It doesn’t just suggest any code. It's consistent with the nature of the project you are working on, whether in the programming language, file type, or even the class you're working within.

<br/>


- **Based on the above**, you can easily write a simple comment explaining the function you want to create, and it will do it easily.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ebwgoqfjfai7lacea8uq.png)

<br/>

    
- **Or even just write the function name, and it will complete it**.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cgg67j5vmrj7wc6tipc3.png)

<br/>

    
- It easily distinguishes the function of the class you are working in and suggests code within the function well.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q7a1gxxd71oeawc6wq0h.png)

<br/>

    
- Also, without writing any instructions, just by going down a line or two, it suggests functions not present in your class, but might be useful or needed by you.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y9swqzzn6yyofc3exn01.png)

<br/>

    
- **It really understands the context of the project**: For example, in the next image, I was actually using TS, and it wrote the function based on it. I already have an interface Email defined with a property named address, so it used it.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/46psyutmm4n2x85ea8yv.png)

<br/>

    
- **It works with you normally in complex situations**: If your function has many conditions or DB Queries - as shown in the next image, also based on the data of your project.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dp3nmyvzjo4wz8rnet8o.png)

<br/>

    
- It can create the basic properties and functions for the entire class just by defining the class name.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/krl4e3kydhcn2xe2kpm4.png)

<br/>

  
- **Translation, which really saved me a lot of time** - it can translate correctly based on the file name or file path.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q5xx7buwtgnt2l1jk3wn.png)

<br/>


- **Not only does it translate**, but it can also write the key and its translation according to your project's method.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fi4o3nglur939gygq0yx.png)
    
<br/>


- **This great feature is that it doesn't make you go to Google Translate** or others and translates the same key in different files based on the file path - in the next image, which translates into German without even telling it to. But it is understood that this file is located in the language folder in the de folder.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qm8wrlqkjdn4rl5ayz86.png)
    
<br/>


- **Its add-on has a complete chat where you can talk to it and replace GPT chat and live your life with it without going to GPT**.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tuqjxa5hsed5y16zvkyt.png)
    
<br/>


- **The add-on has some ready-made commands that might help you while working**, like if you want to fix a specific code or function. Or want to write a Test Case for a specific function. Or want to write something in the terminal and you don't know it, like a specific command from Git commands.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oxx7bfojrd201reqffga.png)
    
<br/>


- If you have an error or even a warning, easily among the suggestions, you will find solutions to fix it or even understand it through copilot.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ea3h6ma3rd92a538666a.png)
    
<br/>


- **Another important thing is that it really cares about the efficiency of the suggested code. I once tried to ask GPT, and then wrote a comment in the code about the function's purpose. And I discovered that its code efficiency is much better than GPT by stages.**


### Enjoy and Have a nice coding!