Since the very beginning of Atwix we’ve been focusing on quality. Because the quality approach is an evolutionary process, we’re constantly improving our expertise through actual practice. As a brilliant example, Atwix has been a TOP contributor to Magento 2 Open Source for four years (!) since 2018.
Over the years, we were observing the patterns in the development community that could slow down the development process, increase the code price or even reduce the code quality.
As a long-time community contributor, we at Atwix wanted to solve this issue.
Please, welcome and cherish the Atwix Magento 2 PhpStorm plugin, a tool that reduces the time for solution delivery and the price of a line of code.
Kudos to our team for implementing such a great product:
- Bohdan Harniuk – Lead engineer and Architect, Atwix
- Yaroslav Rogoza – CTO, Atwix
- Alexander Shkurko – Tech Advisor, Atwix
The Backstory
The decision to build this solution was based on regular reports from our delivery and development teams. They requested a tool that should reduce the time for the feature development and project analysis and one that should help avoid a large amount of manual work.
Defining the Solution’s Design
We identified the list of functionality and actions we use daily: development, audit, code review etc. The corresponding list was divided into groups:
- Inspections;
- Project structure;
- Working with files
The following categories and the list of features were validated by engineers and managers and sent to the development group. We chose PhpStorm IDE because it provides practical functionality and allows you to create plugins to extend IDEs for your needs. This approach was chosen, and the first release was completed in a month. It was sent to the internal testing group that reported positive feedback. Let’s briefly overview some features that were included.
- Atwix Magento 2 PhpStorm plugin provides code quality analysis that helps to spot questionable solutions that may lead to performance degradation;
- The plugin not only identifies where the issue might happen but also provides insight to fix that automatically, saving a lot of time for manual adjustments;
- The plugin adds and updates all the dependencies automatically when necessary;
- In the inspections category of functionality, we included a feature that helps avoid cyclical event loops in plugins and observers. This inspection solves the problem of the infinity loop caused by the calling in a loop event or method that the observer or plugin created. It is time-consuming, often taking many hours to spot and fix;
- From the refactoring standpoint, the plugin provides a solution that helps spot ObjectManager declaration in the code and outlines the options for fixing it for that specific case. This common mistake can happen at the beginning of the project development process. It does not directly lead to fatal errors but increases the cost of maintenance.
You can find the complete list of features with their extended description on the plugin’s official website PhpStorm Plugin in the User Guide section. Or at the JetBrains marketplace Magento / Adobe Commerce by Atwix.
You may find it useful: Magento 2 Extension Development
Want to provide some feedback, report an issue or feature request?
You can create an issue or feature request in the public repository Atwix Magento 2 PhpStorm Feedback. We will respond to you as soon as possible!
If you are faced with a critical issue in the plugin that leads to a system error, you will see a pop-up that will help to describe your problem. Through this form, you will be able to create an issue in the Atwix Magento 2 PhpStorm Feedback directly with the error description that is automatically copied by the plugin.
In conclusion, we would like to add a motto that the Lead engineer Bohdan Harniuk said when he was leading this project – “We can make our development experience even better together. From our side, this is incredible, though, that it describes the real quality of the plugin we built.”