Quantcast
Channel: Simplify C++!
Browsing all 163 articles
Browse latest View live

Refactoring Basics

I’ve written a few posts about refactoring already. What is still missing is a post about the basic principles, so here we go. Rules of engaging your code… Small compilable […] The post Refactoring...

View Article


Lambda Overdose

Lambdas are a nice recent addition to C++. They are cool, they are hip, and they tend to be overused and misused. Since lambda expressions came up in C++11 and […] The post Lambda Overdose appeared...

View Article


Emerging Patterns – Refactoring Session #4

In my last refactoring session post, I wrote I had been lazy when it came to refactoring Fix. Actually, I’ve slacked on purpose, repeatedly skipping the refactoring steps of the […] The post Emerging...

View Article

Implementing Array Access for Tuple

This week I exchange guest posts with Jonathan Müller about accessing tuple elements. Jonathan is a CS student passionate about C++. He’s working on various C++ projects like memory, an […] The post...

View Article

Constexpr Additions in C++17

Last year, I have written about constexpr and compile time constants in general. Last week, the Draft International Standard for C++17 has been sent to its ballot. Time to provide […] The post...

View Article


Prefixed Names

Prefixes are a rather controversial topic. Taking everything into account, I think we should not use prefixed names. Here’s why. A few days ago I touched the topic of prefixed […] The post Prefixed...

View Article

Smelly std::pair and std::tuple

Depending on their use, std::pair and std::tuple can be code smells. That’s why we should be careful around these two. Having a code smell is not a no-go, it’s more […] The post Smelly std::pair and...

View Article

Dialing back

Hi everyone. I find myself currently unable to keep up with the pace I practiced for the last two years. Work, side projects, and other stuff just got in the […] The post Dialing back appeared first on .

View Article


Final Classes

A few days ago, a colleague asked me if it was wise to make every class a final class. Here is a more sophisticated answer than I could give at […] The post Final Classes appeared first on .

View Article


Continuous integration with Travis CI

In today’s guest post, Richel Bilderbeek gives us some insight about some the many possible advantages of setting up a continuous integration service, showing some minimal complete examples. Richel...

View Article

C++ Online Compilers

Online compilers can be useful tools to quickly compile a snippet of code without having to install a proper compiler on our computer. They can be especially useful to play […] The post C++ Online...

View Article

Modern C++ Features – Class Template Argument Deduction

With C++17, we get class template argument deduction. It is based on template argument deduction for function templates and allows us to get rid of the need for clumsy make_XXX […] The post Modern C++...

View Article

Basic Refactoring Steps

Every refactoring can be composed of a set of simple basic steps. Knowing these basic refactoring steps is crucial when we want to continuously compile and test during the refactoring. […] The post...

View Article


reinterpret_cast vs. constant expression

Dipping my toes into a new project, I got a bunch of ugly warnings about a ton of C-casts inside a macro definition. Trying to get away from them was […] The post reinterpret_cast vs. constant...

View Article

What’s Ubiquitous Language and Why You Should Care

The most important term I learned in the past months is “Ubiquitous Language”: speak the language of your domain everywhere. The term seems to come from the world of Doman […] The post What’s...

View Article


Source File Organization for C++ Projects Part 3: Dependent Repositories and...

It’s time to write about project file organization again. Recently I came across two cases of confusion that, in my opinion, could have been avoided easily. Repositories of project dependencies […] The...

View Article

Generated Code

Last week I have touched source file organization of generated code. Today I’ll share some thoughts on testability of code when a part of it is generated. Code generation may […] The post Generated...

View Article


Taking Notes About Work in Progress

Whenever you start something that will be “work in progress” for some time, take some sufficiently detailed notes. Have you ever come back from lunch, only to wonder what exactly […] The post Taking...

View Article

Approaching an Unknown Code Base

I recently got an email, asking me how I approach an unknown code base. Here’s an answer. It’s a common situation we face when we join a new project. We […] The post Approaching an Unknown Code Base...

View Article

Code Smells – a Short List

Code smells are indicators that there might be something afoul in our code. Here is a list of some of the most important smells. What are code smells? A code […] The post Code Smells – a Short List...

View Article
Browsing all 163 articles
Browse latest View live