[GO RIDE engineer reviews! ] Can GitHub Copilot be used for SHOPIFY development?
In the software development world, tools that enhance productivity and efficiency are being developed. GitHub Copilot, which is equipped with a generated AI model in collaboration between GitHub, Openai, and Microsoft, is one of these tools. Copilot can predict what you want to write and make code, and GitHub Copilot can be used as an extension of IDEs such as Visual Studio Code, Visual Studio, Jetbrains Suite. In addition, it is learned with natural language text and source code from generally published sources, including the GitHub's public repository code.
Copilot has two plans, with a personal plan for $ 10 per month and a $ 19 business plan for a monthly fee. To develop business apps and products, we recommend a business plan to avoid licensing infringement and IP intellectual property issues. In personal plans, Copilot can use your project code to train AI models. In the case of a business plan, the code is sent to the cloud, and after receiving a proposal to write what to write next. In other words, if you don't want to pass all the code you wrote to the GitHub AI system, a business plan would be better.
Good points of GitHub Copilot
-
Increase efficiency
The special feature of Copilot is the complementary code of AI. Especially simple syntaxfunctionRegarding, I will create a pretty beautiful code and develop a little faster. This tool understands the context of your code and proposes related rows, snippets, and even functions. This not only increases coding speed, but also reduces recognition load when learning complex syntax. As you can immediately use Copilot's proposal, you have less time to search for documents and deal with a small syntax error. In addition, new efficiency will allow you to focus on the whole picture, and you will be able to spend a lot of time by solving complex problems.
-
Learning and exploration
In addition to improving productivity, Copilot is also an educational resource. It generates code, so you can learn new patterns and best practices. Of course, I don't always submit the perfect code, but if you receive it as a proposal for a new way, your coding will expand. You will be able to make skilled variations in multiple purposes.
-
Fine adjustment and customization
Copilot does not match the needs of the project completely, but you can learn from your correction and adapt your proposals accordingly. This personalized thing will increase the usefulness of the tool over time. To some extent, you can understand the context. For example, if you are dealing with REST API, we will give you a proposal in line with REST development. There are many cases where you can understand what you want to do, but you can't understand exactly what you want to write. Especially when developing complex systems and apps, the understanding of context is weakened.
GitHub Copilot's weakness
-
Lack of understanding of context
Copilot uses a model of natural language, so it is designed to create the best code as possible from the accessory context that can be written perfectly. There are quite a lot of mistakes that the proposed code does not work at all times. Copilot can only retain a limited context, so it may not be possible to use a function defined in the project or in the same file. In addition, since we may propose old libraries, language and how to use it, the proposed code must be confirmed and tested. However, Copilot is learning from your code, so writing some similar functions, especially when writing the first function, but when writing a second function, Copilot is you. In some cases, you learn how you wrote the previous method and make a pretty good proposal.
-
Accuracy of proposal
Users accept the average 26%of the total completion displayed by Copilot. In other words, mistakes are often more than accurate. However, it is not a complete mistake, but if you check the code and edit it, there are many cases where you can use it. In my case, it was 15%in the perfect case, 70%in that case, and 15%if it was completely wrong. Also, in the case of perfect, it was not a proposal for 10 lines, but in most cases, it was a 1-2 lines to complete the written code. Also, very common programming patterns have a slightly higher accuracy. When writing a function or class, if you give a detailed name on the function, the suggestions may be a little better.
Use GitHub Copilot for SHOPIFY development
When writing code in the language recommended by SHOPIFY such as node.js and Ruby, Copilot felt the good points and weaknesses above. Unfortunately, Copilot was not always familiar with the SHOPIFY API, and was not very specialized. However, it is better to pick up clues in the context from the code I wrote, and use that knowledge to make it easy to predict what you are trying to write a little. In other words, SHOPIFY -related development experience was almost the same as normal development experience. However, Copilot has not so much knowledge of SHOPIFY's specialty API, and the code generated by Copilot must check the Shopify document like other code. The best information for SHOPIFY's document is to get the most accurate information. Also, a little disappointing, I found that Copilot is not so effective in template languages like Liquid. The accuracy of the proposal is considerably reduced, but again, as Copilot learns from your code, the better the proposal is better.
Impressions of GitHub Copilot
I think that using tools like GitHub Copilot will change the way of working for developers. The previous workflow is to think about what the application wants to do, write it in a programming order, check with StackoverFlow when there is a problem, and copy the solution. In Copilot, instead of continuous flow, you start writing code, Copilot gives you a suggestion on the way, then decides whether to use, edit, or ignore it. Code review skills are more important. It's like working with someone in a good way or bad. Of course, the final decision, rough architecture, structure, testing, etc. will still be the work of developers.
I can't always trust Copilot, but I think it can be used as a good starting point. If Copilot proposes classes and functions you don't know, you'll take time online. Once the code is suggested, it is important to judge whether it is fully optimized, and you can learn a lot.
In conclusion, I am satisfied with the use of GitHub Copilot. You can speed up the development a little and save time to write short, difficult code and comments. I think the speed has risen by about 10 %. However, of course, the plus 10%is only for the writing side of the code, and it is still not useful for tasks such as collecting and analyzing user requirements, converting user needs into technical specifications, and system design. By incorporating COPILOT into the workflow as a tool, it can be used as a support companion to complement your skills and amplify your skills.