Всем привет.
Человек я здесь новый, так что строго не судите
Сам я пишу на Дельфи, поэтому на нее и ориентируюсь.
Понятно, что если в языках давно есть указатель на функцию/процедуру, то не мне первому эта идея в голову пришла. Мне неясно только, почему реализацию этой идеи я практически не встречаю. Может, плохо смотрю?
Сложную логику (вложенные if'ы), реузьтатом которых является присвоение чего-либо одной переменной, можно схлопнуть в const массив и обращаться к его элементам, используя как индекс само условие (благо, в Дельфи индекс массива пожет иметь любой перечислимый тип, в том числе и Boolean).
Возможно, что нужно будет использовать хеш-функцию для отображения "условий" на индекс массива.
Const-массив указателей на функции дает нам "дешевый" полиморфизм.
Вообще индексация схожих по смыслу вещей (ответов, действий, полей записи — пример поля TRect и TPoint...) дает основу для нехилого обобщения и уменьшения (!) кода, чем я сам регулярно пользуюсь.
Вот... вообще я это уже нашел в Code Complete под названием "Табличные методы", но там далеко не все, что у меня сейчас в голове роится.
Всем спасибо за внимание!
P.S. Наверное, это меня haskell испортил