Макросы.
От: Sir Wiz Россия  
Дата: 26.08.04 10:01
Оценка: :)))
Добрый день!

Объясняю рекруту, что макросы — это плохо. Ибо забивают пространство имён, затрудняют дебаг. Что есть инлайн функции и т.д. и т.п.
На следующий день получаю от него комментарий "вы меня не убедили" и решение проблемы:

#define _CheckObj_99203300_96D7_4c99_8293_92B6ADA8B292(m_ptObj)        if (!m_ptObj)\
                                                                    {    for (i=0; i<m; i++) delete[]DataMatrix[i];\
                                                                        delete[]DataMatrix;\
                                                                        delete[]colors;\
                                                                        delete[]names;\
                                                                        return false;    }

Какие ещё слова тут можно говорить? Поубедительнее?
... << RSDN@Home 1.1.3 stable >>
Re: Макросы.
От: Burd Украина http://proxysearcher.sourceforge.net
Дата: 26.08.04 10:07
Оценка:
Здравствуйте, Sir Wiz, Вы писали:

SW>Какие ещё слова тут можно говорить? Поубедительнее?


Скажите ему, что main в макросе писать надо. А то че то такой код неэфективный и неэфектный
Любая задача имеет решение, даже когда решения не существует
Re: Макросы.
От: alku  
Дата: 26.08.04 10:22
Оценка:
Здравствуйте, Sir Wiz, Вы писали:

SW>Добрый день!


SW>Какие ещё слова тут можно говорить? Поубедительнее?


могу привести строчку из жванецкого:
"...В машине: — Что в машине? Я всю жизнь в машине. Я никогда не знаю, куда мы идем. У меня такое впечатление, что на мостике все курвы. Хорошо. Они наверху. Они командуют. Я выполню любой приказ мгновенно, но пусть они мне сначала докажут. Ты, командир, докажи, что ты умней, и все, и мы уже идем..."
(с) "Одесский пароход" Жванецкий.

подсунь кенту "Code Complete".
Re: Макросы.
От: Chez Россия  
Дата: 26.08.04 10:40
Оценка:
Надо CheckObj убрать — пусть макрос еазывается просто _99203300_96D7_4c99_8293_92B6ADA8B292...
Chez, ICQ# 161095094
Re: Макросы.
От: Кодт Россия  
Дата: 26.08.04 11:12
Оценка: +1
Здравствуйте, Sir Wiz, Вы писали:

SW>Объясняю рекруту, что макросы — это плохо. Ибо забивают пространство имён, затрудняют дебаг. Что есть инлайн функции и т.д. и т.п.

SW>На следующий день получаю от него комментарий "вы меня не убедили" и решение проблемы:

SW>#define _CheckObj_99203300_96D7_4c99_8293_92B6ADA8B292(m_ptObj)        if (!m_ptObj)\
SW>                                                                    {    for (i=0; i<m; i++) delete[]DataMatrix[i];\
SW>                                                                        delete[]DataMatrix;\
SW>                                                                        delete[]colors;\
SW>                                                                        delete[]names;\
SW>                                                                        return false;    }

SW>Какие ещё слова тут можно говорить? Поубедительнее?

Про зарплату будет достаточно убедительно?
Судя по коду, там ещё и необёрнутые указатели и голые массивы вовсю используются.
Между прочим, товарищ допустил уязвимость. Вызови этот макрос так:
_CheckObj_99203300_96D7_4c99_8293_92B6ADA8B292(m_ptOne && m_ptTwo)
Перекуём баги на фичи!
Re: Макросы.
От: Privalov  
Дата: 26.08.04 11:17
Оценка:
Здравствуйте, Sir Wiz, Вы писали:

SW>Добрый день!


[...]

SW>Какие ещё слова тут можно говорить? Поубедительнее?


Ничего не говорить. Попросить его всю программу написать так, чтобы каждая строка начиналась с #define...
Re: Макросы.
От: eugals Россия  
Дата: 26.08.04 11:50
Оценка:
Здравствуйте, Sir Wiz, Вы писали:

SW>Какие ещё слова тут можно говорить? Поубедительнее?

Скажи ему: "Hasta la vista, baby!"

PS: Кстати, имена у которых первый символ подчеркивание, а второй что-то в верхнем регистре — зарезервированы стандартом за разработчиками компиляторов.
PPS: Хотя тут он конечно обезопасился мастерски. UUID вставил
... << RSDN@Home 1.1.3 stable >>
Re[2]: Макросы.
От: Sir Wiz Россия  
Дата: 26.08.04 12:22
Оценка:
Здравствуйте, Кодт, Вы писали:

К>Про зарплату будет достаточно убедительно?

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

К>Судя по коду, там ещё и необёрнутые указатели и голые массивы вовсю используются.

Вообще использование std::vector убирает необходимость как в содержимом этого макроса так и в самом макросе как сомнительном средстве сокращения размера кода.

К>Между прочим, товарищ допустил уязвимость. Вызови этот макрос так:

К>
К>_CheckObj_99203300_96D7_4c99_8293_92B6ADA8B292(m_ptOne && m_ptTwo)
К>

Не надо
... << RSDN@Home 1.1.3 stable >>
Re[2]: Макросы.
От: Кодт Россия  
Дата: 26.08.04 12:47
Оценка: +1 :)
Здравствуйте, eugals, Вы писали:

SW>>Какие ещё слова тут можно говорить? Поубедительнее?

E>Скажи ему: "Hasta la vista, baby!"

Наверное, не baby, а всё-таки bambino (или, с учётом его упёртости, estupido, bastardo, jiho de la puta на выбор)
Перекуём баги на фичи!
Re[3]: Макросы.
От: Vamp Россия  
Дата: 26.08.04 13:39
Оценка:
>jiho
Если это "сын" по-испански, то пишется не так.
Да здравствует мыло душистое и веревка пушистая.
Re[4]: Макросы.
От: Кодт Россия  
Дата: 26.08.04 13:42
Оценка:
Здравствуйте, Vamp, Вы писали:

>>jiho

V>Если это "сын" по-испански, то пишется не так.

Есть варианты (мексиканский — hijo).
http://www.awd.ru/dic_mat.htm
Перекуём баги на фичи!
Re[5]: Макросы.
От: Vamp Россия  
Дата: 26.08.04 13:46
Оценка:
К>Есть варианты (мексиканский — hijo).
А ты как написал?
Да здравствует мыло душистое и веревка пушистая.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.