Jonathan Boccara's blog

All posts in "Expressive code"

The Pi Day Challenge For The Most Expressive Code In C++

Published 3 weeks ago - 42 Comments

Each year, the fourteenth of March is marked by a very special event: Pi Day! It’s called this because in American notation, the 14th of March is 3/14. And during this day, the number Pi is celebrated all over the world in various ways. One notable way to celebrate it is bringing a pie to work or to university. […]

Strong lambdas: strong typing over generic types

Published last month - 2 Comments

This post is a new one in the series about strong types. I didn’t intend the series to contain more than 3 posts initially, covering the topics of strong types to make interfaces clearer and more robust. But I later encountered a need, still about strongly typing interfaces and that I shall describe in the motivation […]

What 70 people came up with on expressive code

Published last month - 7 Comments

Last week held the monthly meetup of Software Craftsmanship in my area. The organizer, Stéphane Bagnier, proposed a very original and interesting schedule for the evening. After a short series of brief and spontaneous presentations, any attendee could propose a topic he found worth spending time talking about, and then everyone got to vote. The 2 topics receiving the […]

How to choose good names in your code

Published last month - 6 Comments

Naming is SO important. If your code is going to be read at least one time — if only by yourself — then names will play a major part in your capacity to work with it. Variable names, function names, class names, names in an interface, all are priceless ways to let your code tell more about […]

Making code expressive with lambdas

Published a couple of months ago - 9 Comments

Lambdas are arguably one of the most noted addition to the language in C++11. It is a useful tool, but one has to make sure to use them correctly to make code more expressive, and not more obscure. First off, let’s make clear that lambdas do not add functionalities to the language. Everything you can do […]

Super expressive code by Raising Levels of Abstraction

Published a couple of months ago - 5 Comments

In this post I would like to propose a technique based on levels of abstraction to transform an obscure piece of code into expressive and elegant one. You’ve been quite a few to take up the Christmas Break Challenge for writing expressive code, by posting a comment on the challenge post or by chipping in on Reddit. […]

Can you write expressive code? – Christmas break challenge

Published a few months ago - 1 Comment

Before you go away on holidays and feast on Christmas and New Year’s eve parties, I want to propose you a challenge about writing expressive code to keep your skills up during the holidays period. I’m going to show you the code for a simple task performed by an application. I’m even going to explain that code to you. […]

Respect levels of abstraction

Published a few months ago - 2 Comments

As software developers, we get to learn many good practices and strive to apply them in our code. For instance we learn the importance of good naming of variables and functions, encapsulation, class cohesion, the usage of polymorphism, concision, readability, code clarity and expressiveness, and many others. What if there was only one principle to […]

Passing strong types by reference

Published a few months ago - 2 Comments

In this post in the series about strong types, we focus on the need for passing strong types by reference. This is a fairly common use case for strong types, since passing arguments by reference is so common, but I haven’t seen this aspect of strong types treated anywhere else yet. This post is part of a series […]