Re[26]: Являются ли макросы свидетельством недостаточной выр
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 03.08.07 07:59
Оценка: 24 (1) +1 -1
Здравствуйте, IT, Вы писали:

Сразу оговорюсь, разводить флейм, спорить и что то доказывать у меня нет ни малейшего желания.

IT>Гапертон пока предпочитает молчать, может быть ты мне ответишь на этот вопрос? Чем принципиально отличается плоходокументированный макрос от плоходокументированного метода?


Тем же, чем отличается незнакомое русское слово в русской речи от речи, скажем, на турецком языке.

IT> Можно перефразировать в текущем контексте. Чем принципиально отличается необходимость разбираться в незнакомом коде, в котором используются незнакомые тебе классы от от кода, в котором используются незнакомые тебе макросы?


Тем, что возможые эффекты от метода несопоставимы с эффектами от макроса. Т.е. метод делает всегда одно и то же — получает на вход параметры, возможно меняет состояние, и возвращает результат. А вот макрос может делать за кадром что угодно, возможности у него значительно шире (собственно, для этого макросы и придумывали). Too big gun и этим все сказано.

AVK>>Спорно. Идее ситаксических макросов 200 лет в обед. Однако ж не прижились пока что.


IT>Интересно, почему тогда народ с таким самозабвением извращается на плюсовых шаблонах?


Спроси у них. Практически все мои лично знакомые программисты относятся к этому крайне негативно.

IT> Не потому ли, что это хоть что-то, что появилось в мейнстриме за последние 20 лет. А все те идеи о которых ты говоришь были всего лишь идеями и никогда к мейнстриму даже близко не относились?


Т.е. всемирный антимакросовый заговор? И Гейтс, поди, не последнюю роль в нем играет?
Должны же быть какие то причины отсуствия макросов в мейнстриме.

AVK>>Это не проблема технических средств, это проблема организации процесса разработки.


IT>Почему ты тогда считаешь, что его нельзя построить так, чтобы не было проблем с макросами?


Зависит от масштаба применения макросов.

IT>А у моих ума хватило за полгода. Что теперь делать?


Учить, разумеется. ИМХО объяснить, что если в начале файла написано autogenerated, do not touch, то ни в коем случае этот файл не трогать совсем не сложно. В особо запущенных случаях можно для SVN скрипт написать, который запретит коммитить генерируемые файлы.

AVK>>Это, мягко говоря, неправда. Skip visibility check еще никто не отменял.


IT>Что неправда? То, что генератор, исходный класс и результирующий находятся в разных сборках? Ну так это я тебе как специалист говорю. Могу даже исходники показать.


А я тебе как специалист говорю — в случае применения для кодогенерации LWCG достаточно в параметре skipVisibilityCheck передать true, и можно спокойно обращаться к приватным полям любых классов в любой сборке.
... << RSDN@Home 1.2.0 alpha rev. 688>>
AVK Blog
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.