- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
#define BREAKABLE_SECTION() for(;;)
BREAKABLE_SECTION()
{
::Packet * pPacket;
res = ReadPacket(pPacket);
if(ERR_OK == res)
{
res = pConstructor->PutPacket(pPacket);
if(ERR_OK == res)
{
res = pConstructor->GetFrame(data);
}else
{
//TODO:add handler of statuses other than err_ok
}
if (ERR_OK ==res)
{
break;
}else
{
//TODO:add handler of statuses other than err_ok
}
}else
{
break;
}
break;
}
перешел в новый проект где предложили изучить существующий код в огромном объеме - а он весь из таких циклов
Lure Of Chaos 06.10.2011 23:06 # +3
это проклятье флагов
bugmenot 07.10.2011 00:04 # 0
ctm 07.10.2011 06:19 # +2
2. писать goto не кошерно, а по другому не умеют - вот и заменили бряками
absolut 07.10.2011 07:33 # 0
roman-kashitsyn 07.10.2011 09:32 # 0
sayidandrtfm 07.10.2011 12:55 # 0
setjmp(),longjmp()...оно?
roman-kashitsyn 07.10.2011 12:58 # +1
sayidandrtfm 07.10.2011 13:09 # +2
А обычно платите?
Ну тогда минимум 3 варианта:
- выбрать другой инструмент;
- _продвинуть_ в следующий стандарт идею введения исключений;
- написать/переписать свой язык.
roman-kashitsyn 07.10.2011 13:18 # −1
да, время на внедрение, знаете ли, денег стоит
Предложенные варианты нельзя было использовать, когда писал на си. Просто жалел, что приходится писать кучу непонятного кода, который можно было бы сократить и упростить с помощью исключений.
sayidandrtfm 07.10.2011 13:43 # 0
т. е. изначально архитектура не предполагала наличия некого подобия механизма исключений — тогда да.
roman-kashitsyn 07.10.2011 13:49 # 0
carsten 08.10.2011 05:38 # 0
roman-kashitsyn 08.10.2011 09:12 # +4
guest 07.10.2011 14:15 # −4
замечу тут даже флажок не воткнуть смотрите linux/list.h
разбивать на функции чтоб спрятать goto маразм ну и как ?
да никак городили бы или do {} while или выеросили бы циклы
в функции что только ухудшило бы понимание кода
понабегут теоретики и кричат goto плохо
guest 07.10.2011 14:19 # −3
замечу тут даже флажок не воткнуть смотрите linux/list.h
разбивать на функции чтоб спрятать goto это маразм ну дак как ?
да никак городили бы или do {} while или вынесли бы циклы
в функции что только ухудшило бы понимание кода
понабегут теоретики и кричат goto плохо мудаки вы а не программисты
все те кто против goto
defecate-plusplus 07.10.2011 14:31 # +2
и да
где тут С++, %username%?
guest 07.10.2011 14:32 # −3
пусть уже наконец все убедятся что те кто орут goto плохо всего
лиш теоретики а я вам скажу что они предложат вынести циклы в функции
потому что эти типотенты считают себя мега крутыми когда делают все
только хуже лиш бы спрятать goto у них комлекс с детства какой то
с психикой связанный не с проста они везде стараются спрятать
goto в даже ущерб читаемостивнопрограммистов без goto
guest 07.10.2011 14:33 # −3
пусть уже наконец все убедятся что те кто орут goto плохо всего
лиш теоретики а я вам скажу что они предложат вынести циклы в функции
потому что эти типотенты считают себя мега крутыми когда делают все
только хуже лиш бы спрятать goto у них комлекс с детства какой то
с психикой связанный не с проста они везде стараются спрятать
goto в даже ущерб читаемости
guest 07.10.2011 14:34 # −3
пусть уже наконец все убедятся что те кто орут goto плохо всего
лиш теоретики а я вам скажу что они предложат вынести циклы в функции
потому что эти импотенты считают себя мега крутыми когда делают все
только хуже лиш бы спрятать goto у них комлекс с детства какой то
с психикой связанный не с проста они везде стараются спрятать
goto в даже ущерб читаемости
defecate-plusplus 07.10.2011 14:39 # +3
bugmenot 07.10.2011 22:41 # 0
http://images.encyclopediadramatica.ch/0/0a/Bawwwww_bunny.jpg
3.14159265 07.10.2011 14:42 # +3
C_Krest_Krest_Govno он же openclgovno - залогинься.
sayidandrtfm 07.10.2011 15:14 # 0
defecate-plusplus 07.10.2011 14:45 # +8
absolut 07.10.2011 14:55 # +3
http://govnokod.ru/8107#comment112076
3.14159265 07.10.2011 16:21 # −1
Uhehesh 07.10.2011 22:20 # −7
Lure Of Chaos 07.10.2011 22:24 # +5
ctm 07.10.2011 14:54 # +2
писать goto считают не кошерным, а по другому не умеют - вот и заменили бряками.
как я бы написал... не знаю: зависит от обработчика ERR_OK.
в Вашем примере goto вполне уместен.
PS. я не теоретик:)
SmackMyBitchUp 07.10.2011 16:19 # 0
вы теораст!
ctm 10.10.2011 12:20 # 0
lucidfoxGovno 11.11.2011 11:23 # −1
guest 11.11.2011 11:12 # 0
int main() {
int i = 0;
nach:
i = i + 1;
if(i <= 10) goto pech;
if(i > 10) goto konets;
konets:
printf("Konets programmi.");
return 0;
pech:
printf("%d v kvadrate = %d\n", i, i * i);
goto nach;
}
лучшее - враг хорошего... в общем, нет понту обсирать единоразовое использование goto в условиях безысходности. Как говорится, один раз - не пидараз... Истинное же мясо, порубленное вместе с будкой и цепью начинается тогда, когда бейсиковый стиль применяестя без разрения совести для написания всего вообще кода. Как пример, см. приведенный выше шматок.
defecate-plusplus 07.10.2011 09:15 # +1
do {
::Packet * pPacket;
res = ReadPacket(pPacket);
BREAK_IF_ERROR(res);
res = pConstructor->PutPacket(pPacket);
BREAK_IF_ERROR(res);
res = pConstructor->GetFrame(data);
BREAK_IF_ERROR(res);
} while(0);
// analyze res here
defecate-plusplus 07.10.2011 09:18 # 0
что случается с pPacket - его же видимо выделяют где нибудь в ReadPacket, куда девается память?
нужны эксепшены, смарт пойнтеры
absolut 07.10.2011 10:21 # +1
реинкарнация CPPGovno и пр?
defecate-plusplus 07.10.2011 10:40 # +2
gegMOPO4 07.10.2011 11:15 # +1
defecate-plusplus 07.10.2011 11:37 # 0
я же какаю бабочками
absolut 07.10.2011 11:40 # 0
defecate-plusplus 07.10.2011 11:41 # −1
roman-kashitsyn 07.10.2011 11:54 # −2
roman-kashitsyn 07.10.2011 23:36 # 0
bugmenot 07.10.2011 23:43 # +3
gegMOPO4 08.10.2011 18:11 # 0
Lure Of Chaos 08.10.2011 21:01 # 0
sayidandrtfm 07.10.2011 13:57 # +3
>Как вы яхту назовёте…
>я же какаю бабочками
>девочка?
>I'm not a robot! I am a unicorn!
>I am not a number! I am a free man!
Читайте продолжение нашумевшего безцельера «Кодеры за работой, блеать!»
roman-kashitsyn 07.10.2011 14:13 # −1
Uhehesh 07.10.2011 22:23 # −1
roman-kashitsyn 07.10.2011 23:46 # 0
gegMOPO4 07.10.2011 10:31 # 0
Kirinyale 07.10.2011 12:39 # 0
Правда, здесь это компенсировали дефайном...
guest 07.10.2011 15:18 # 0
Нечего меня форсить. Я давно ушел. Комунити, к этим людям я не имею ни какого отношения. (:
openclgovno, ты считаешь DirectCompute11 лучше, чем OpenCL?
Только не говори AMD FireStream и NVIDIA CUDA, ибо это не кроссаппаратные технологии другого класса.
openclgovno 07.10.2011 18:40 # +1
guest 07.10.2011 22:48 # 0
Использование GPU, как сопроцессора - это весьма перспективная идея. Ждем стандартизации этого комитетом С++ и реализацию под GCC. ^_^
guest 07.10.2011 23:08 # 0
3.14159265 07.10.2011 21:12 # −1
во-вторых - это копипаст с моего поста, где я не упомянул о macGovno.
guest 07.10.2011 22:30 # +1
во-первых, это намекает нам на твой уровень. (:
во-вторых - это копипаст с твоего поста, ибо мне лень набирать вручную эту стену, но заметь перестановку твоих слов.
guest 07.10.2011 22:35 # 0
Подпись пользователя доставляет (:
Lure Of Chaos 07.10.2011 22:45 # 0
guest 07.10.2011 22:53 # +1
Lure Of Chaos 07.10.2011 22:57 # 0
guest 07.10.2011 23:01 # 0
guest 07.10.2011 22:42 # −1
SmackMyBitchUp 07.10.2011 22:48 # +2
вы еще приделами померяйтесь
guest 07.10.2011 22:51 # 0
bugmenot 09.10.2011 05:41 # −4
SmackMyBitchUp 09.10.2011 12:16 # 0
http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B8%D0%B4%D0%B5%D0%BB
bugmenot 09.10.2011 12:35 # 0
RS-232 09.10.2011 12:37 # −3
КРЕСТОПРОБЛЕМЫ
3.14159265 10.10.2011 13:07 # +3
Ты здесь недавно?
>Это твой интеллектуальный придел.
>Ты нигде не добьёшся успеха, в отличии от openclgovno.
>Мне тебя жаль. (:
золотые слова.
SmackMyBitchUp 10.10.2011 13:26 # 0
AnimeGovno-_- 11.11.2011 11:25 # −1
Lure Of Chaos 07.10.2011 21:27 # 0
Uhehesh 07.10.2011 22:27 # −2
Не все преступники = мудаки.
Не все мудаки = преступники.
Не все = не все.
Доказано.
Lure Of Chaos 07.10.2011 22:30 # +2
логика софистическая
Uhehesh 07.10.2011 22:38 # −2
Lure Of Chaos 07.10.2011 22:42 # +1
Uhehesh 07.10.2011 22:49 # −2
надмозг?
Lure Of Chaos 07.10.2011 22:54 # −1
AnimeGovno-_- 11.11.2011 11:28 # −2