вторник, 25 января 2022 г.

[prog.flame.c++] Внезапное продолжение темы константности. Мои пять копеек к статье "const all the things" от Arthur O'Dwyer

Вчера написал небольшой блог пост с примером собственного стремления использовать const и иммутабельность как можно чаще. А сегодня на Reddit-е обнаружил ссылку на статью "const all the things" от Arthur O'Dwyer. Которая на ту же самую тему. И несколько противоречит моим предпочтениям.

Статья крайне толковая, очень рекомендую к ознакомлению.

Однако, как мне показалось, она написана с точки зрения человека, который пишет новый код. Если же попробовать взглянуть на те же самые аспекты немного с другой стороны, то по двум пунктам я с O'Dwyer-ом не соглашусь.

понедельник, 24 января 2022 г.

[prog] Деформация на почве иммутабельности

Чем старше становлюсь и чем больше кода проходит через мои руки, тем больше приверженцем иммутабельности оказываюсь. Чем меньше изменяемых переменных в коде, тем лучше.

При программировании на C++ это выражается в том, что стараюсь по максимуму все объявлять const-ом и делать мелкие вспомогательные функции, которые не содержат внутри себя изменяемых переменных (это нужно для того, чтобы уменьшить количество переменных там, где эти мелкие функции затем вызываются).

Иногда стремление к иммутабельности приобретает странные формы.

Вот сегодня, например, попал на ревью такой код (схематично, к реальности имеет отношение только структура):