Matheus Marabesi website, sharing ideas about software development - Listing posts on page 3

TDD anti-patterns - episode 6 - The one, The peeping Tom, The Flash and The Jumper - with code examples in java

This is a follow up on a series of posts around TDD anti-patterns. The first of this series covered the liar, excessive setup, the giant and slow poke, those four are part of 22 more, the anti-patterns is a list formalized in James Carr post and also discussed in a stackoverflow thread. In this blog post we are going to focus on the last two anti-patterns from those lists and also two new ones - the flash and the jumper. Both of them are focused on the practice of test driving code instead of the pure code itself.

Hexagonal architecture - Another way to the hexagone

I am not sure how this post is going to be, but the idea is to brain dump what is my current understanding of hexagonal architecture and try to make like a journal of that. As I improve my understanding I can improve this post and so on. Hexagonal architecture is usually mixed with the clean architecture, even though, it was used as an inspiration to the clean architecture, they are different. Valentina Cupác describes that on her talk in details. Found something that seems wrong and would like to contribute? Leave a comment and I can reply as fast...

TDD anti-patterns - episode 5 - The stranger, The operating system evangelist, Success against all odds and The free ride - with code examples in javascript and python

In this blog post we are going to focus on four more of them, named The stranger, The operating system evangelist, Success against all odds and The free ride. Each one of them focuses on a specific aspect of code that makes testing harder, sometimes it comes from not doing TDD, sometimes it just comes from the lack of knowledge on designing code. Either way, this is an attempt to explore those flaws and avoid them in our own code base.

TDD anti-patterns - episode 4 - The greedy catcher, The sequencer, Hidden dependency and The enumerator - with code examples in javascript, python and php

In this blog post we are going to focus on four more of them, named The greedy catcher, The sequencer, Hidden dependency and The enumerator. Each one of them focuses on a specific aspect of code that makes testing harder, sometimes it comes from not doing TDD, sometimes it just comes for the lack of knowledge on designing code.

Katas - why, when and how

Katas are the way that developers use for sharping their skills in a particular subject. For example, TDD, design patters, SOLID principles or any kind of design to develop software - out there, there are katas for software architecture. Katas, have their name and inspiration from the Japanese karate, that focus on a specific and only one thing at time and bet on repetition to improve little by little. As already mentioned by Felienne in her book The programmer’s brain repetition is not something that programmers rely on to improve their skills, in that sense, repetition seems to be something...

TDD anti-patterns - episode 3 - the nitpicker, the secret catcher, the dodger and the Loudmouth - with code examples in javascript, kotlin and php

In this blog post we are going to focus on four more of them, named The nitpicker, The secret catcher, The dodger and The Loudmouth. Each one of them focus on a specific aspect of code that makes testing harder, the four presented in post are somehow connected to starters in TDD, most of them are patterns found in who has not experience writing applications guided by tests.

Adventures on vue.js and data visualization - episode 2

Hello there, this is the second episode of the dataviz-project where I am trying to record the steps I take to bring a legacy app into a better state. If you haven’t seen the intro, you can have a look at it here. For this episode I started to change a bit how the test strategy is approached in the code. In the previous episode one of the goals was related to the testing library - here we will start to do that.

Impact mapping

Building software is hard, building software that users love and actually deliver value is even harder. For long, the software industry suffered (and still suffers) for lack of communication between technicians and business, leading to different approaches of how to get them on the same page and build. Even with the advent of the agile manifest it alone, can’t do the job. Tools and techniques are needed to fill in this gap. Impact mapping is a book that focus on the impact, regardless of the business, and by that, the author means impact, not features.

TDD anti-patterns - episode 2 - the mockery, the inspector, the generous leftovers and the local hero - with code examples in javascript, kotlin and php

In this blog post we are going to focus on four more of them, named The mockery, The inspector, The generous leftovers and The local hero. Each one of them focus on a specific aspect of code that makes testing harder.

2021, a year of reading

Reading is part of my routine, I try to read as much as the time allows me and in 2021 I could finally achieve the goodreads challenge, reading 14 books along the year. In 2020, I shared the books I read, but I couldn’t meet my goal of 12 books. As I enjoyed writing about the 2020 books, I am doing the same style in 2021, here is a short list of the books I read and the references I came along the way. Some of those have its own blog post just to go through the details and what...