Я работал с большой кодовой базой, написанной в основном программистами, которые больше не работают в компании. У одного из программистов, видимо, было особое место в его сердце для очень длинных макросов. Единственное преимущество, которое я вижу в использовании макросов, - это возможность писать функции, которые не нужно передавать во всех их параметрах (что рекомендуется в руководстве по передовым методам, которое я читал). Кроме этого, я не вижу никакой выгоды по сравнению со встроенной функцией.
Некоторые макросы настолько сложны, что мне трудно представить, что кто-то их даже пишет. Я пытался создать один в этом духе, и это был кошмар. Отладка чрезвычайно трудна, так как она занимает N + строк кода в 1 в отладчике (например, где-то в этом большом блоке кода произошла ошибка). Удачи!). Я должен был на самом деле вытащить макрос и запустить его без макроса для его отладки. Единственный способ, которым я мог видеть человека, написавшего это, - это автоматически генерировать его из кода, написанного в функции, после того, как он отладил ее (или быть умнее меня и писать это с первого раза, что, я думаю, всегда возможно) .
Я что-то упустил? Я сумасшедший? Есть ли уловки отладки, о которых я не знаю? Пожалуйста, заполните меня. Я действительно хотел бы услышать от макро-любителей в аудитории. :)