Дружба — это магия в программировании

Шутливое обсуждение дружбы, функций-друзей и магии с персонажами «My Little Pony»
Шутливое обсуждение дружбы, функций-друзей и магии с персонажами «My Little Pony»

Слайд с заголовком «Обсуждение: дружба это магия» в шутливой форме сравнивает статические функции и функции-друзья в программировании. В тексте говорится, что статические функции безопаснее, а функции-друзья могут нарушать инварианты класса, особенно если речь идёт о целых классах. Внизу справа показаны персонажи «My Little Pony» на фоне радуги. Иллюстрация усиливает каламбур: дружба действительно связана с магией, но попытка заводить друзей в коде почти всегда приводит к ошибкам.

Обсуждение: дружба это магия • Статические функции более безопасны. Они являются частью интерфейса класса и их пишет разработчик, который заботится о сохранении инвариантов. • Функции-друзья обычно пишет кто-то другой и они могут нарушать инварианты как хотят. • Особенно опасно дружить с целыми классами. • В целом дружба часто бывает связана с магией и заводя себе друзей вы почти всегда ошибаетесь. 61