dayonehk.com

GitHub Copilot Review: A Month of Coding with AI Assistance

Written on

Introduction to GitHub Copilot

The advent of AI technologies, notably with tools like Chat-GPT, has transformed the landscape of coding. A significant focus is now on AI tools designed to automate various tasks. Today, I want to share my experience after using GitHub Copilot for a month. If you’re not familiar with it, GitHub Copilot is an AI-powered assistant that aids in code writing. Marketed as an AI Pair Programmer, it aims to let developers concentrate on larger challenges by managing the smaller coding details. It's particularly useful for tackling unfamiliar programming languages and offers inline suggestions during coding. For context, I typically use VS Code, and I’ll base my review on that experience, although Copilot is compatible with other IDEs like Visual Studio and JetBrains.

The Positive Aspects

After a month of using Copilot, I can confidently say that it is an impressive tool. My coding experience has improved, and it has certainly assisted me in resolving complex coding challenges.

Enhanced Code Completion

One standout feature is its automatic code completion. As you type, Copilot begins suggesting the next lines of code.

Code completion suggestions by GitHub Copilot

When I start typing a function, it often proposes the next line or several lines. More times than not, these suggestions align perfectly with my intentions or even enhance my initial thought. This feature significantly boosts my coding efficiency.

Contextual Understanding of Code

As you delve into larger projects, minor bug fixes or new features can become quite specific. You’ll often rely on functions you’ve previously created or constants defined elsewhere in your code. One impressive capability of Copilot is its ability to “understand” what you’re aiming to achieve and offer relevant suggestions. While this functionality can be hit or miss, when it works, it’s quite remarkable.

Function Generation from Comments

Another intriguing feature allows Copilot to propose functions or code blocks based on your comments. By highlighting your comment and pressing Control + Enter, you can receive up to ten suggested solutions, complete with commentary explaining the code.

Example function generated by GitHub Copilot

For instance, if I wanted to create a binary search function, Copilot can generate a useful block of code, which is particularly beneficial for tasks like generating a UUID. While I would typically resort to installing a package for such tasks, Copilot’s ability to generate utility functions is a game changer.

The Downsides

Despite my overall positive experience, there are a few aspects I find frustrating. While these issues aren't critical, they are certainly areas for improvement.

Conflicts with Other Extensions

Although I appreciate the code completion feature, it can interfere with the IntelliSense functionality of my IDE or extensions. When Copilot makes a suggestion, it can be challenging to trigger IntelliSense to display available functions, which can be quite frustrating when I need specific information.

Incomplete Function Suggestions

While Copilot can generate entire code blocks from comments, I've noticed that if my comment spans two lines, it often fails to produce a relevant code response.

Example of incomplete function suggestion by GitHub Copilot

Instead of providing the requested code, it may simply return a series of comments. Ideally, I would prefer a solution where I could input a simple placeholder and have Copilot generate a complete function.

Incorrect Code Placement

This issue is relatively rare, but occasionally, Copilot suggests incorrect line completions. For example, while typing a statement, it may suggest an erroneous completion that introduces syntax errors.

Incorrect code suggestion by GitHub Copilot

While this is a minor annoyance, it can disrupt workflow, especially when dealing with complex code structures.

Conclusion: A Valuable Tool

Overall, I find GitHub Copilot to be a valuable addition to my coding toolkit. I'm pleased to continue using it and investing in its subscription. It effectively streamlines the process of writing boilerplate code, allowing me to focus on the more creative aspects of programming. While a few minor issues exist, they do not significantly detract from its overall usefulness. If you're curious about trying it out, I highly recommend giving it a shot!

In this video, "First Hour with GitHub Copilot," you can see a detailed introduction to the tool and its features.

The second video, "Github Copilot No Longer Free? | How to Continue a Free Subscription," discusses options for maintaining access to Copilot without incurring costs.

For more insights, feel free to visit my website for additional articles and resources!

Share the page:

Twitter Facebook Reddit LinkIn

-----------------------

Recent Post:

Running: Embracing the Challenges for Personal Growth

Discover how embracing the challenges of running can lead to profound personal growth and increased self-confidence.

Enhancing Code Review Productivity with Strategic Labeling

Discover how implementing labels in code reviews can boost productivity and psychological safety within your development team.

Establishing Positive Habits for Better Mental Well-Being

Discover how to form beneficial habits that enhance mental health and reshape your identity for a fulfilling life.

Ants on Caffeine: Exploring How a Small Dose Enhances Learning

Discover how caffeine influences the cognitive abilities of ants, revealing surprising effects on their learning and behavior.

Embrace Creativity: How to Keep Creating Even When It's Tough

Discover how to persist in your creative endeavors, even during tough times, and the importance of embracing the process.

The Enigmatic Nature of Determinants and Pseudovectors

Explore the intriguing properties of determinants as pseudoscalars and their impact on geometry and physics.

Understanding the Mechanics of Computers and Their Operations

This guide explores the fundamental concepts of electricity, computer processing, and data representation in a simplified manner.

How to Take Control of Your Emotional Triggers

Discover how to identify and manage your emotional triggers for a healthier mindset and improved relationships.