Как по мне, ничего принципиально не меняется в подходе. Мазню выносишь в отдельный модуль\функцию, что угодно, т.е. создаешь некий интерфейс для взаимодействия с этим кодом там, где раньше он использовался в развернутом виде. Пишешь тесты на изолированную мазню и потом его рефакторишь.
Как по мне, ничего принципиально не меняется в подходе. Мазню выносишь в отдельный модуль\функцию, что угодно, т.е. создаешь некий интерфейс для взаимодействия с этим кодом там, где раньше он использовался в развернутом виде. Пишешь тесты на изолированную мазню и потом его рефакторишь.
До C++11, если не ошибаюсь, компиляторы интерпретировали последовательность >> при объявлении вложенных шаблонов не как скобки, а как оператор сдвига, приходилось писать > >
Trying to fully explain the model in this book is fairly hopeless. It's defined in terms of madness-inducing causality graphs that require a full book to properly understand in a practical way.