Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Оператор goto, Хорошо или плохо 
:(
    Опции темы
Goganchic
Дата 8.5.2007, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 678
Регистрация: 18.6.2004

Репутация: нет
Всего: 5



srd, про си отдельный разговор: в си goto - необходимость
PM Jabber   Вверх
Goganchic
Дата 8.5.2007, 13:08 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 678
Регистрация: 18.6.2004

Репутация: нет
Всего: 5



Цитата(Anikmar @  8.5.2007,  10:51 Найти цитируемый пост)
Видимо я старомодный. Но объяснять пользователю, в ответ на его претензии к быстродействию "Зато посмотрите, какой читаемый код" я вижу не совсем правильным. То что исключения разворачиваются по времени действительно на порядок медленнее - уже точно обсуждалось, когда спорили что лучше: возврат кода ошибки или исключение.  

Зато с твоей стороны ситуация просто супер, когда пользователь говорит, а я вот хочу еще одну маленькую фичку, на что ему начинают объяснять, что мол мы сможем сделать тебе такую фичку только за пол года, т.к. у нас код очень производительный и понимает его только компилятор.
PM Jabber   Вверх
Vyacheslav
Дата 8.5.2007, 14:31 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 9
Всего: 59



Цитата(Anikmar @  8.5.2007,  10:51 Найти цитируемый пост)
Видимо я старомодный. Но объяснять пользователю, в ответ на его претензии к быстродействию "Зато посмотрите, какой читаемый код" я вижу не совсем правильным. То что исключения разворачиваются по времени действительно на порядок медленнее - уже точно обсуждалось, когда спорили что лучше: возврат кода ошибки или исключение.  

Вы  просто никогда не занимались поддержкой долгоживущих комплексов, когда код напиман в команде, причем от первоначальной команды уже никого нет в наличии.  Вы так же наверное не выполняли CR( change request) и  не видели удивленного взгляда заказчика, когда они видел количество часов, в которые это выливалось.  А что делать? Если вместо читаемого кода  и централизованного отлова ошибок автор занимался никому не нужной оптимизацией и отлавливанием эксепшенов по месту и привращеним их в коды возврата с последущим goto. 
 


--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
HappyLife
Дата 8.5.2007, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 17.5.2006

Репутация: 3
Всего: 8



А мне вот интересно, наступит ли момент, когда каждый перестанет спорить, с тем у кого больше или меньше опыта. Неужели всем так важно доказать свою правоту, вместо того чтобы жить, программировать как удобно, так как подсказывает опыт, так как умеешь. Так как требует ситуацию. 
PM MAIL   Вверх
Vyacheslav
Дата 8.5.2007, 14:57 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 9
Всего: 59



Цитата(HappyLife @  8.5.2007,  14:42 Найти цитируемый пост)
А мне вот интересно, наступит ли момент, когда каждый перестанет спорить, с тем у кого больше или меньше опыта. Неужели всем так важно доказать свою правоту, вместо того чтобы жить, программировать как удобно, так как подсказывает опыт, так как умеешь. Так как требует ситуацию.  

Вы противоречите сами себе smile

Цитата(HappyLife @  8.5.2007,  14:42 Найти цитируемый пост)
когда каждый перестанет спорить, с тем у кого больше или меньше опыта

и
Цитата(HappyLife @  8.5.2007,  14:42 Найти цитируемый пост)
программировать ... так как подсказывает опыт


А вот это
Цитата(HappyLife @  8.5.2007,  14:42 Найти цитируемый пост)
программировать как удобно, так как умеешь

весьма спорно.  Иногда при постановке вопроса "как удобно,  как умеешь" выясняется , что такого программирования никому, кроме Вас, не надо. 




--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
Goganchic
Дата 8.5.2007, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 678
Регистрация: 18.6.2004

Репутация: нет
Всего: 5



Vyacheslav, полностью согласен
PM Jabber   Вверх
popovda
Дата 8.5.2007, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 9.6.2006
Где: Москва

Репутация: нет
Всего: 6



"А зачем вообще использовать goto".
Например, затем, чтобы из нескольких вложенных циклов изящно выйти. C++ - это не Фортран 90/95, где есть имена циклов - т.н. безопасные метки. Очень удоно, кстати. А если применять goto не в пределах всего кода, а лишь в пределах блока {...} и не использовать его вместо if-else или switch, то все нормально и красиво. Весь ассемблер - это сплошные goto (jmp), и все довольны.


--------------------
С уважением, Попов Д.А.
PM MAIL   Вверх
Anikmar
Дата 8.5.2007, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 9
Всего: 59



Цитата(Goganchic @  8.5.2007,  13:08 Найти цитируемый пост)
Зато с твоей стороны ситуация просто супер, когда пользователь говорит, а я вот хочу еще одну маленькую фичку, на что ему начинают объяснять, что мол мы сможем сделать тебе такую фичку только за пол года, т.к. у нас код очень производительный и понимает его только компилятор. 

Если вы посмотрите мое отношение к goto - я никогда не приветствую его применение, если это запутывает код. Мой пост относился к мнению, что исключения призваны заменить goto с чем я не согласен. Если нужно запутать код - то и с goto и без оного его можно сделать просто нечитаемым.
Цитата(Vyacheslav @  8.5.2007,  14:31 Найти цитируемый пост)
Вы  просто никогда не занимались поддержкой долгоживущих комплексов, когда код напиман в команде, причем от первоначальной команды уже никого нет в наличии. 

Сейчас мой род занятий резко отличается от программирования и последним я занимаюсь как раз в неосновное рабочее время. А 7 лет я работал программистом, в команде из 20 человек, с поддержкой кода, написанного уволенными сотрудниками, и адаптации их к нуждам заказчиков. Причем это были аппаратно-программные комплексы, включающие АСУ (программирование контроллеров) и АРМы верхнего уровня. И при разборе чужого кода меня больше бесило отсутствие комментариев, а не наличие goto.

Цитата(HappyLife @  8.5.2007,  14:42 Найти цитируемый пост)
А мне вот интересно, наступит ли момент, когда каждый перестанет спорить, с тем у кого больше или меньше опыта. Неужели всем так важно доказать свою правоту, вместо того чтобы жить, программировать как удобно, так как подсказывает опыт, так как умеешь. Так как требует ситуацию.  

Это спором назвать сложно - так как нету особого повода для спора. Тут скорее обмен мнениями - кто с чем сталкивался на практике.

Цитата(Vyacheslav @  8.5.2007,  14:31 Найти цитируемый пост)
Если вместо читаемого кода  и централизованного отлова ошибок автор занимался никому не нужной оптимизацией и отлавливанием эксепшенов по месту и привращеним их в коды возврата с последущим goto. 

У нас таким авторам сразу давалось по рукам. Начальство следило. А вообще нас заставляли писать так, чтобы чужой код мог быть запросто разобран другим программистом - так как в командировки ездили все и отлаживали код на местах. И не всегда ехал тот, кто писал конкретный участок.
Все вопросы читабельности и модульности решались на этапе проектирования. Были даже соглашения по именам переменных. 

Цитата(Vyacheslav @  8.5.2007,  14:31 Найти цитируемый пост)
никому не нужной оптимизацией и отлавливанием эксепшенов по месту и привращеним их в коды возврата с последущим goto

Тут перечислены все беды - и исключения и коды возврата и goto. Я то высказывал мнение, что нельзя использовать однозначно что-нибудь одно - для каждой ситуации нужно находить элегантный, понятный и быстрый код насколько это, конечно возможно.

PM MAIL ICQ   Вверх
Goganchic
Дата 8.5.2007, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 678
Регистрация: 18.6.2004

Репутация: нет
Всего: 5



Цитата(Anikmar @  8.5.2007,  15:39 Найти цитируемый пост)
Тут перечислены все беды - и исключения и коды возврата и goto. Я то высказывал мнение, что нельзя использовать однозначно что-нибудь одно - для каждой ситуации нужно находить элегантный, понятный и быстрый код насколько это, конечно возможно.

как показывает практика в 99% случаев это код без goto smile
PM Jabber   Вверх
Anikmar
Дата 9.5.2007, 00:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 9
Всего: 59



Цитата(Goganchic @  8.5.2007,  16:56 Найти цитируемый пост)
как показывает практика в 99% случаев это код без goto  

Полностью согласен. Но ради 1% goto и существует  smile 
PM MAIL ICQ   Вверх
Жуть
Дата 9.5.2007, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 27.6.2006

Репутация: нет
Всего: нет



для 0.00001%

Добавлено через 1 минуту и 35 секунд
хотя яб добавил еще пару "0" между "." и "1"
PM MAIL   Вверх
Goganchic
Дата 9.5.2007, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 678
Регистрация: 18.6.2004

Репутация: нет
Всего: 5



Anikmar, точно smile
PM Jabber   Вверх
MAKCim
Дата 9.5.2007, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Цитата(Goganchic @  8.5.2007,  16:56 Найти цитируемый пост)
как показывает практика в 99% случаев это код без goto

 smile 
и много у вас было практики?  smile 


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
JackYF
Дата 10.5.2007, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 18
Всего: 162



Цитата(Жуть @  9.5.2007,  12:03 Найти цитируемый пост)
для 0.00001%


А ты столько кода столько 100 / (0.000001 ) == 10^8 == 100 метров написал вообще за свою жизнь?



--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Hurricane
Дата 10.5.2007, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 126
Регистрация: 10.4.2007

Репутация: 6
Всего: 9



Цитата(JackYF @ 10.5.2007,  09:50)
Цитата(Жуть @  9.5.2007,  12:03 Найти цитируемый пост)
для 0.00001%


А ты столько кода столько 100 / (0.000001 ) == 10^8 == 100 метров написал вообще за свою жизнь?

Ну налетели, коршуны...  smile Пусть и мой код добавит туда, там, где я goto не пользуюсь, мне не жалко. Может и еще кто-нибудь кодом поделится. С миру по нитке...  smile 
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1260 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.