Я не понимаю, какая муха укусила Артура, но в рамках этого топика и одного другого топика (про конвертацию в LARGE_INTEGER) он себя как-то необычно и странно, как будто вдруг у него появилось достаточно знаний для того, чтобы со своей позиции оценивать решения как правильные или неправильные, и обзывать какие-то решения как недостаточно хорошие. Проблема только в том, что у Артур всё-таки не является настолько профессионалом, чтобы судить о таких вещах, и с его стороны хорошим тоном было бы просто слушать и принимать информацию как есть, ну или задавать вопросы «а можно ли сделать это как-то получле», но уж никак не вести себя так, как он себя ведёт.
Это классический сценарий, когда кто-то не разбирающийся глубоко в какой-то области видит какое-то решение из этой области и начинает заявлять: ооо!!! Они всё сделали через задницу и слишком сложно!!! Я бы сделал всё сто раз проще!!!
Непрофессионал неэлектронщик увидел схему блока компьютерного блока питания:
Вот дебилы! Зачем они всё таки усложинили!? — восклицает непрофессионал.
Я бы сделал всё просто, вот так:
- stupid_power_suply_design.PNG (2.66 Кб) Просмотров: 7887
Непрофессионал видит схему электровоза ЧС7:
Зачем так сложно? Для чего так сложно? Ради чего так сложно? Почему бы не сделать просто вот так:
- stupid_dc_ele_loco.PNG (4.74 Кб) Просмотров: 7887
Непрофессионалу невдомёк, что конечно же,
если бы можно было всё сделать так просто, то разработчики именно так бы и сделали, потому что у них нет резона делать всё сложно и дорого, когда можно сделать просто и дёшево. Но есть причины (не очевидные непрофессионалу), по которым сделать всё так просто — нельзя. Поэтому приходится делать всё равно гораздо сложнее, но всё равно люди задницу рвут, чтобы при всём при этом сделать всё максимально просто, насколько это возможно.
Так вот, какие к черту танцы с бубнами?
Нельзя объявлять функцию внутри другой функции.
Нельзя объявлять переменную между двумя функциями.
Много чего нельзя.
И в этот список входит одно ни чем не выделяющееся среди других «нельзя»: нельзя, чтобы UDT, который покидает границы нашего приложения, был объявлен как приватный.
Если соблюдение нормальных здравых ограничений языка для вас является танцами с бубнами — я не знаю, кто вы, и что вас посоветовать.