The need for an additional refactor phase in TDD

27 March 2018, Dávid Csákvári
I’ve used TDD for a long time and in a few different settings. I usually can’t develop whole projects driven by tests, but for many problems, it is my preferred problem-solving approach. Practice makes it better, but I still don’t feel too confident about the short red-green-refactor cycles.

Two ways of skipping tests in Maven

20 March 2018, Dávid Csákvári
Let me share an interesting story that we faced at work recently. We have a complex application with multiple modules, and we wanted to set up a new dev environment. It’s a big project, and we are usually in a hurry (or just lazy), so to save time we tried to check out the latest version of the project and build it without running the test suites.

Best practices on how to work with collections in Javascript

13 March 2018, Tamás Sallai
Why some projects are clean, easy-to-read, and performant, while others a convoluted mess? Why, when making a modification, in some codebases everything falls into place immediately, while in others it’s more like walking on a minefield?

Dependency Injection Boundaries

06 March 2018, Dávid Csákvári
I recently read the article Java: Spring Dependency Injection Patterns. The author considers the pros and cons of using Field, Setter, and Constructor Injection patterns. It’s a great post, I recommend checking it if you haven’t already. Reading it and its discussion on Reddit inspired me to write my 2 cents on this topic.

Editors' Favourites

Why some projects are clean, easy-to-read, and performant, while others a convoluted mess? Why, when making a modification, in some codebases everything falls into place immediately, while in others it’s more like walking on a minefield?
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.

Interesting article?

Get hand-crafted emails on new content!