V>>Ну-ну. И что потом с этим ха квадрат делать? Он так и останется в памяти компьютера вещью в себе? В реальном мире программам приходится заниматься такими небезопасными вещами, как пользовательский ввод-вывод и даже! о черт! генерировать случайные числа. C>Да что Вы говорите?! Не может быть!..
"Неприятный момент, да, Сысоев?" (С)
Да здравствует мыло душистое и веревка пушистая.
Re[8]: Модульные тесты и "безопасные" языки - хорошо.
Hello, criosray, you write:
c> c>> Вы, уважаемый, за собой бы последили. c> S>Да я вообще за ум взялся — Мамут вон даже поттвердит. c> Держите крепче, а то убежит.
Хорошо, по твоим следам идти не буду. Буду покрепче держать.
Здравствуйте, Vamp, Вы писали:
C>>Корректное поведение... смешно. Ну покажите мне код, где такое поведение корректное. V>A фиг ли скрывать? V>
V>...
V>
точно, сам использую подобные фишки изредка, правда дополняю их скобками и прочим для наглядности.
C>>Я-то прекрасно знаю, как работает оператор присваивания и конструкция if — именно потому и говорю. В 9 из 10 случаев в С/С++ исходниках можно увидеть if (NULL == something) {} вместо if (something == NULL) {}. Это наверно от хорошей жизни, да? V>За 11 лет — видел только в индусских рекомендациях. Это от индуизма.
а вот тут не согласен: расположение константы впереди защищает от описки, которую не сразу и заметишь.
Re[10]: Модульные тесты и "безопасные" языки - хорошо.
Здравствуйте, Vamp, Вы писали:
CC>>Так нагляднее: V>... V>Во первых, лично мне запись в одну строчку нагляднее. Но у на свобода — если тебе так нагляднее, найди себе компилятор, который поддерживает такую запись, и пиши так.
Это любой С++0х компилятор позволяет
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[5]: Модульные тесты и "безопасные" языки - хорошо.
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>Дудки! Тому, кто уверяет, что программировал на C++ аж 10 лет и продолжает нести восхитительную ахинею касательно этого же C++, проводить ликбез я не буду по принципиальным соображениям.
+10000!
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re: Модульные тесты и "безопасные" языки - хорошо.
Здравствуйте, criosray, Вы писали:
C>>>>>if (i = n) {...} C>>>Проблема в том, что это корректный синтаксис. Корректный синтаксис допускающий некорректное поведение — более чем причина, чтоб ругать язык. V>>Это совершенно корректный синтаксис. И совершенно корректное поведение. C>Корректное поведение... смешно. Ну покажите мне код, где такое поведение корректное.
Пфф!
TreeNode *node;
if (node = root.GetNode ("Foo"))
{
node->...
...
}
if (node = root.GetNode ("Bar"))
{
node->...
...
}
C>Я-то прекрасно знаю, как работает оператор присваивания и конструкция if — именно потому и говорю. В 9 из 10 случаев в С/С++ исходниках можно увидеть if (NULL == something) {} вместо if (something == NULL) {}. Это наверно от хорошей жизни, да?
Это далеко не в 9 из 10
Есть многие метры С++ сурсов и ни разу там такое не встречается.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[14]: Модульные тесты и "безопасные" языки - хорошо.
Здравствуйте, March_rabbit, Вы писали:
C>>>Я-то прекрасно знаю, как работает оператор присваивания и конструкция if — именно потому и говорю. В 9 из 10 случаев в С/С++ исходниках можно увидеть if (NULL == something) {} вместо if (something == NULL) {}. Это наверно от хорошей жизни, да? V>>За 11 лет — видел только в индусских рекомендациях. Это от индуизма. M_>а вот тут не согласен: расположение константы впереди защищает от описки, которую не сразу и заметишь.
От описки защищает правильно настроенные опции компилятора
А константа впереди ломает глазки при чтении кода.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[13]: Модульные тесты и "безопасные" языки - хорошо.
Здравствуйте, CreatorCray, Вы писали:
C>>>>>>if (i = n) {...} C>>>>Проблема в том, что это корректный синтаксис. Корректный синтаксис допускающий некорректное поведение — более чем причина, чтоб ругать язык. V>>>Это совершенно корректный синтаксис. И совершенно корректное поведение. C>>Корректное поведение... смешно. Ну покажите мне код, где такое поведение корректное.
CC>Пфф! CC>
C>Вы так программируете? Тогда Вас надо гнать в шею за такой индусокод.
Ну-ка, ну-ка. Назови хотя бы две любые проблемы этого кода.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[15]: Модульные тесты и "безопасные" языки - хорошо.
C>>Вы так программируете? Тогда Вас надо гнать в шею за такой индусокод.
ГВ>Ну-ка, ну-ка. Назови хотя бы две любые проблемы этого кода.
Достаточно одной — присваивание внутри выражения if ().
Re[15]: Модульные тесты и "безопасные" языки - хорошо.
Здравствуйте, criosray, Вы писали:
C>>>Вы так программируете? Тогда Вас надо гнать в шею за такой индусокод. ГВ>>Ну-ка, ну-ка. Назови хотя бы две любые проблемы этого кода. C>Достаточно одной — присваивание внутри выражения if ().
А в чём проблема присваивания внутри выражения if? Вроде бы, всё понятно даже программисту на самом обыкновенном C.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[15]: Модульные тесты и "безопасные" языки - хорошо.
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, March_rabbit, Вы писали:
C>>>>Я-то прекрасно знаю, как работает оператор присваивания и конструкция if — именно потому и говорю. В 9 из 10 случаев в С/С++ исходниках можно увидеть if (NULL == something) {} вместо if (something == NULL) {}. Это наверно от хорошей жизни, да? V>>>За 11 лет — видел только в индусских рекомендациях. Это от индуизма. M_>>а вот тут не согласен: расположение константы впереди защищает от описки, которую не сразу и заметишь. CC>От описки защищает правильно настроенные опции компилятора
в смысле, очередной варнинг? Или запрет присвоения в условии?
Если ты про варнинг, то.... В нашем проекте этих варнингов столько, что новые часто не замечаются. Мозилла вся насквозь пропитана варнинговым кодом. Поэтому предупреждение — не выход.
CC>А константа впереди ломает глазки при чтении кода.
Это есть. С непривычки ломает. Потому сам практически не использую.
Re[14]: Модульные тесты и "безопасные" языки - хорошо.
Здравствуйте, March_rabbit, Вы писали:
C>>>>>Я-то прекрасно знаю, как работает оператор присваивания и конструкция if — именно потому и говорю. В 9 из 10 случаев в С/С++ исходниках можно увидеть if (NULL == something) {} вместо if (something == NULL) {}. Это наверно от хорошей жизни, да? V>>>>За 11 лет — видел только в индусских рекомендациях. Это от индуизма. M_>>>а вот тут не согласен: расположение константы впереди защищает от описки, которую не сразу и заметишь. CC>>От описки защищает правильно настроенные опции компилятора M_>в смысле, очередной варнинг? Или запрет присвоения в условии? M_>Если ты про варнинг, то.... В нашем проекте этих варнингов столько, что новые часто не замечаются. Мозилла вся насквозь пропитана варнинговым кодом. Поэтому предупреждение — не выход.
Ну, по хорошему в проекте должно стоять "Treat warning as error".
Что в общем то сразу отбивает охоту писать присвоения в if Так что проблема решается как бы сама собой.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[16]: Модульные тесты и "безопасные" языки - хорошо.
Здравствуйте, VoidEx, Вы писали:
VE>Достаточно нуля проблем. Я свою точку зрения доказал. Гнать надо вас в шею за такой код.
А ты, VoidEx, откуда вдруг нарисовался?
И какую это ты точку зрения доказал?
А не виртуал ли ты, мил человек?
Твой второй логин на RSDN часом не criosray?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[15]: Модульные тесты и "безопасные" языки - хорошо.
TreeNode *node = root.GetNode ("Foo");
if (node)
{
}
node = root.GetNode ("Bar");
if (node)
{
}
Да, лично я предпочитаю не писать присвоение в условии. Но это вопрос стиля, мне так больше нравится.
Но и не считаю что присвоение в условии неправильно.
Зелёному новичку разумеется надо вбить в голову что присвоение в условии это полный капец и так делать нельзя. Во избежание. Ибо сдуру и по неопытности он наворотит говнокода.
Когда подрастёт — можно объяснить что иногда на самом деле так делать всё таки можно.
Впрочем когда подрастёт — сам должен понять.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока