Reading List

The most recent articles from a list of feeds I subscribe to.

Measuring Software Complexity: What Metrics to Use?

This article is part of a series about complexity metrics: Measuring complexity What Metrics to Use? The Impact of the Environment “This part of the codebase doesn’t feel right!” This was Dave, your colleague developer, arguing in another never-ending meeting to rewrite a part of your company’s codebase. His arguments? Technical debt, high entropy, and the fear of the legacy system. Our work, as developers, pushes us to take many decisions, from the architectural design to the code implementation.

What's The Vim Runtime? A Guide With Examples

Have you ever wonder what was The Beginning of All Things™? In other words: have you ever wonder what Vim is doing when you start it? What files are sourced, why, and in what order? If you don’t really care, I encourage you to reconsider your position. Knowing what Vim is doing at startup lets you speed it up, overwrites some defaults from the plugins you’ve installed, or even creates your own filetypes.

Should We Follow The Open-Closed Principle?

When I first heard about the SOLID principles as a young and innocent developer, many of them seemed confusing to me. The Open-Closed Principle looked easy, however: we should extend the behavior of our classes instead of modifying them. I did extend the behavior of my classes indeed! Mainly by using inheritance in one form or another. The end result? An abstracted mess, where everybody was wondering what was the use cases my code was covering, hidden under a cheer amount of abstractions and indirection.

A Vim Guide For Experts

This is the sixth part of this series to learn Vim from the ground up: Vim from the ground up Vim for Beginners Vim for Intermediate Users Vim for Advanced Users Vim for Adept Users Vim for Veteran Users Vim for Expert Users Learning to play vim If you like my articles about Vim, I’m currently writing an ambitious book about The Best Editor™ with many more tips! You’re now in your garden, sitting down in your favorite chair, contemplating a fabulous table full of the tastiest food.

Defining Legacy System

“We need to stop everything!” shout out Dave, your colleague developer, during a meeting with the stakeholders of BigBuckEcommerce, the company you work for. “Our application is a legacy system. We need to rewrite the whole thing before it’s too late! It will explode! We can’t manage this beast any longer!” If I had received a coin each time the term “legacy” was thrown in a discussion about software development, I would write this article from a private island in my personal mansion.