Тут перевод TADS-мануала неожиданно натолкнул меня на мысль: что может заставить современнх программистов использовать оператор безусловного перехода a.k.a. goto? Речь, естественно, идет не о программировании на Ассемблере, Fortran 66 и т. п., а о более-менее структурированных языках, позволяющих теоретически вообще без него обойтись. Обращаюсь к программистам среди наших форумчан (их, к счастью, есть у нас:): пользуетесь ли вы оператором goto и в каких целях?
Начну, как положено, с себя. Я goto пользуюсь, пожалуй, исключительно при программировании на Visual Basic for Applications. Делаю это по следующим причинам: во-первых, ряд процедур удобнее генерировать при помощи встроенных "визардов", а они их генерят как раз с активным использованием goto. Править каждый раз такую процедуру вручную, убирая goto - значит сводить на нет все преимущества автоматизации;). Во-вторых, безусловный переход на метку в VBA удобно использовать при проверке на возникновение ошибки. В этом случае все обработчики ошибок локализуются в конце процедуры, что делает код в целом более читаемым. И, хотя теоретически подобной группировки можно добиться и другими средствами (и, например, программируя на Паскале, я бы совершенно точно организовал такую группировку без goto), в VBA такой способ кажется почему-то наиболее естественным и удобным.
Отредактировано uux (17.08.2007 21:40)
Неактивен
VoLk88 написал:
Код:
for (...) for (...) { ... if (disaster) /* если бедствие */ goto error; /* уйти на ошибку */ error: /* обработка ошибки */ ликвидировать беспорядоканалогично что и
Код:
for (...) for (...) { ... if (disaster) /* если бедствие */ [b]call sub_error();[/b] /* вызвыть событие обработки ошибки */ sub_error(){} /* обработка ошибки */ ликвидировать беспорядоквремя сейчас немного другое...
try {
for (...)
for (...) {
...
if (disaster) /* если бедствие */
throw(); /* уйти на ошибку */
...
}
}
catch(...) {
/* обработка ошибки */
ликвидировать беспорядок
}время сейчас совсем другое! ![]()
Неактивен
Sfunx написал:
Так что не в языке дело, а в прокладке между монитором и креслом
Сможет прокладка программу написать удобоваримо и структурно- тогда она и на асме получится красивой... А не сможет... так никакой с-шарп не спасёт...
+1
Неактивен