cpprussia C++ Russia 2020 SPb (11.11.2020 — 14.11.2020)

ITM: My least favorite anti-pattern

img

This talk will introduce the ITM anti-pattern, walk you through the story of Conor’s discovery of it, and highlight/demonstrate how to avoid it.

There is one anti-pattern that is pervasive — it shows up everywhere all the time: the ITM anti-pattern. This is Conor’s least favorite anti-pattern and avoiding it can lead to more readable, understandable, and beautiful code. ITM stands for "initialize then modify". When Sean Parent says "no raw loops" — that is an application of avoiding ITM. When Ben Deane says "avoid the initialization declaration split" — that is an application of avoiding ITM. And when Jason Turner walks you through different code smells to avoid — a lot of them are examples of ITM.

This talk will introduce the ITM anti-pattern, walk you through the story of Conor’s discovery of it, and highlight/demonstrate how to avoid it.