It's impossible to create circular structures with elixir due the immutability, however there are some workaround to build them.
Immutability is a two edged sword, while it is thread safe, more error proof and have others benefits that help builds the foundation of beam. This come with a cost, like everything.
Circular list, graphs, trees with parent and a others data structures can not be build in elixir as in others programming languages.
Per example, imagine a list which: A -> B -> A
Since A links to B, then B needs to exist in advanced, however as B…
Flutter coverage stopped working again …
Earlier this year, I wrote how disabling code coverage could speed up your test suite up to 10x. Fortunately, the flutter team fixes it before we had to disable it (our CI was taking to 26 minutes to run all the 700 tests, after the fix it when to 4 minutes).
However, flutter 1.5.3 broke our tests. We have been using 1.5.0 hoping they fixed soon enough so we could update our flutter SDK. Although we had to upgrade to flutter 1.8 to publish our app using Android app bundle requirements, Since then, we have disabled our code coverage.
Now let’s hope flutter team fix it soon. By the time we are counting with code reviewers to check if someone forgot to test an essential piece of code.
One year and 447 👍 later, the official Firebase Crashlytics plugin has been released. Right now it does not mean much the plugin still has the same limitations of the flutter_crashlytics, an unofficial plugin. The main one is that the crashes are reported as non-fatal. The native firebase crashlytics library does not support specifying if the crash is fatal or not, so this need to be fixed by the crashlytics team first. With the official plugin, we hope that crashlytics team prioritize this issue and help flutter devs to have a first class integration with firebase.
Today I saw some devs arguing about Java in twitter, which lead me to write this Article. The programming language is one of the most important parts in the architecture of software development, but each day, which language you choose is less relevant.
Most people use the technical aspect of the language to argue, today I will focus in the history to learn about the past, understand what is happening in the present and what to expect for the future. Programming languages are in constant development, and all of them are created basically with a sole propose: increase development productivity.
We just recently upgraded our CI machines because the flutter test step was taking almost 25 minutes to run on CI. We have a little more than 500 unit tests + widget tests that shouldn't take this long, so after doing some research to identify why I found an issue which explains what is happening.
When you enable test coverage in flutter the tests takes up 10 times longer to execute as suggested in the issue. By the moment we will stick with the coverage (it help a lot in code reviews) and hope the issue is fixed soon enough. But if coverage is not vital for your project I recommend you to disable it.
Code Style does not affect your code behavior, so why should I care about it? As a developer you will spent much more time reading than writing code, Robert C. Martin said that the ratio is over 10 to 1. If everyone uses the same style your codebase becomes more readable.
More important than defining a code style is to make sure that everyone follows it. Dart has several tools to help you code better, one of them is dartfmt command line tool used to check and format dart code. …