JUnit and Cucumber test reports based on source code and behavior

20 February 2018, Dávid Csákvári
Scott provides detailed failure messages for Java tests and does so without the use of complex assertion libraries. It can greatly increase productivity, because it allows the developers to express the tests more naturally without losing the much-needed information that tells what went wrong in a scenario.

Introducing: Array#Extras email course

08 February 2018, Tamás Sallai
From the posts and guides in this blog, you can tell that I love working with collections. This is probably the aspect of programming that changed the most how I write code in the past decade.

Effective debugging with breakpoints

06 February 2018, Dávid Csákvári
Previously in this tutorial series, we discussed manual verification and print debugging as possible approaches to problem-solving. Those techniques can provide the necessary insight in many cases, but they can also be very limiting when you have to understand the inner flow of a complex program or framework you are not familiar with.

Reuse code with domain-specific steps in collection pipelines

02 January 2018, Tamás Sallai
So far, we’ve only looked into how to add new functions to collection pipelines. In this post, we’ll look into why such extensions might be necessary.

Editors' Favourites

As WebPack 2 barrels forward, Tree Shaking — or more technically, the removal of unused exports using static analysis — is finding its way to the mainstream. Developers are putting their hopes high, as it promises to solve the pressing problem of bloated packages. Usually, only a fraction of code is actually needed from each dependency but their entire codebase is bundled, increasing the size.
There’s a lot of buzz about JVM optimizations and how it makes production code perform better thanks to the Just-In-Time (JIT) compilation and various optimization techniques. A lots of excellent research materials are available, but I wanted to see for myself how these apply in practice, so I decided to dig deeper and play around with some measurements.
The single biggest obstacle of understanding a piece of code is a lot of variables. Variables introduce state, which in turn increase complexity exponentially. Every single bit of variable information makes reasoning and understanding the code harder.
You should give React a try - in case you didn’t already. Despite my initial skepticism, it is developer friendly and straightforward. Coming from Angular, it’s like programming in a lower abstraction level; but the libraries for common problems, along with less unpleasant surprises make up for this. Componentization and the virtual DOM are React’s central concepts. Componentization is the general direction in most contemporary technologies too, like Web Components and Angular Directives. The latter makes the render and the event cycles two distinct flow, making reasoning about the code easier.

Interesting article?

Get hand-crafted emails on new content!