As a good geek, I am testing github copilot, the suggestion engine based on ChatGPT technology. It is fun but the result is tempered.
Installation 🏗
Installation is pretty easy. You just need to subscribe to copilot offer on github.com, install the copilot pluggin of your IDE and sign in to your github account from your IDE (requested by the pluggin). And that’s it ! You’re in.
Pertinence 🧐
Now on your IDE, Copilot make you suggestions displayed in grey, to accept it you just need to press tab touch.
Is it pertinent ? Sometimes yes, let’s explore some examples.
I initiate a constant. The result was pretty cool:
Let’s create a unit test on a simple function:
It doesn’t test what we expect of test_vendeur function but some piece of code can be used to adapt the test as we expect.
And a docstring:
It’s work, it’s what the function do.
Most annoying behavior is when a constant in resolved, it doesn’t take into account to the resolution that your IDE can do for you because for your IDE it is a deterministic resolution when Copilot make suggestions based on its IA learning extrapolation.
For example, here the value RESIDENCEETUDIANTE is not an available option of the enum NatureLogement :
Productivity 💻
I don’t use to use docstring then on this part, it doesn’t help me : unfortunately because it is very pertinent for this use case 😢
Sometimes, it make me win time because it gives me a piece of code that I can use as it is given of use with some corrections.
However, most of the time, I need to read what is proposed and as it often doesn’t accurate, I don’t use it, I lost few second to read and decide. And sometime I accept the proposition but it take me more time to correct it instead of write it by myself using the IDE auto-completion, it makes me lost few seconds more.
And last but not least, few times it proposed my something with a better that I though, this case is cool because it increase my code quality but it’s pretty rare.
Conclusion
I don’t now if it makes me win time or enough quality to justify to use github copilot. I hope when I’m used to use it, it will be more obvious that it gives a real win.
I still have 2 months free the evaluate copilot, it as a good timing to take a decision 🚀.