Hi, everyone! My name is Yura and I am a Flutter developer. Studying this technology, working with it, I started to wonder more and more: how can I do more in less time? The formula is simple: I need to spend less time on routine processes and spend more time writing new code. In two years, I compiled a kind of list of methods that helped me personally to put this formula into action and improve my efficiency. I hope they will be useful for you as well.
Methods to increase productivity
Let’s start with the simplest methods and gradually move on to more complex ones.
The easiest thing you can do to improve your performance is install the necessary plug-ins in the IDE. Plug-ins are add-ons for the IDE that extend its capabilities.
This is my top of the line for IntelliJ IDEA:
- Dart Data Class;
- Key Promoter X;
- String Manipulation;
- Git Tool Box.
One of these plugins is Key Promoter X, this plugin says after every action made by hand what was a hotkey for him. A hotkey is a combination of keys to perform actions quickly. This plugin will help you to use hotkeys more, which in the future can have a huge impact on your performance. Get used to using all commands with hotkeys!
Use code generation
Without going too far, let’s continue to configure the IDE. An IDE is a program for writing code. Almost every IDE has such a function as “Live Templates”. It allows you to save frequently used code sections and use them by writing the specified command right in the code editor. Live Templates”, which is actually well configured, saves a lot of time and is probably one of the most effective methods to write code faster.
Builds and nuances of working with them
Next, let’s talk about the builds, many teams unreasonably collect all the time only “release” builds for testing, but “debug” builds on average gather once in 3–4 times faster than the “release” build and you should not forget about it. Optimize and select the situation in which type of builds you need and save time on it.
Continuing the build theme, we also can not avoid the use of different CI for the automation of their assembly.
CI (Continuous Integration)— literally translated as “continuous integration”. It means the integration of individual pieces of application code with each other.
If you calculate the time that a developer spends on building builds, it will be exactly more than an hour a day. With a properly configured CI, the developer after a commit may not do any unnecessary actions at all. But in this case the question arises how to choose the build parameters and the device on which it should be done.
In our AppVesto team we decided it this way: When creating a commission the developer also specifies the types of builds that he needs and CI checks the text of the commit and creates a build with the necessary parameters.
Example: git commit -m “Commit text -d -r -i”
Team -d creates debug build, -r — release build, -i — IOS build.
Our team uses Jenkins CI for builds, but you can choose any other and use it.
Let’s move on to the most interesting thing: how to check the code and spend as little time as possible?
The most efficient and easiest method is to create and configure a linker file and check the code using the Dart Analyzer. This can significantly reduce the time needed to check the quest pool, and it can also be transferred from project to project.
At the moment, these are the main technologies that our team uses to improve our performance. All this together saves a lot of effective developer time and allows him to grow faster in his profession.