Очевидно дурацкие решения
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 04.05.20 05:28
Оценка: :)
Периодически смотрю на когда-то написанный код и удивляюсь: как мне могло прийти в голову такое дурацкое решение — хоть алгоритмически, хоть в плане реализации. Ладно бы на момент написания я не знал чего-то существенного, но все было известно, просто мозг так сработал.

Например, только что обнаружил такой ляп в коде двухлетней давности. Делал реализации трех похожих системных интерфейсов, вынеся общее в базовый класс, и сделав отдельный производный класс под каждый интерфейс. Каждый интерфейс обрабатывает системные запросы, присылаемые не через виртуальные функции, как обычно, а через табличные обработчики, которые для удобства завел напрямую в базовый класс. Но в этих запросах система присылает адреса объектов производных классов, поэтому потребовались функции для получения адреса объекта базового класса по объекту заранее неизвестного производного. А поскольку все эти интерфейсы основаны на COM, мне на тот момент почему-то показалось, что единственно правильным решением будет определить GUID интерфейса базового класса и добавить соответствующий код в QueryInterface. Мысли о том, что гораздо проще и правильнее было бы сделать для этого отдельную виртуальную функцию, не возникло. Мозг тупо пошел на поводу у подхода, принятого в COM.

Интересно, насколько часто подобные ляпы встречаются в народе?
ляпы дурацкие решения реализация
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.