|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Andrey Khavryuchenko 2:5020/400 10 Dec 2001 01:01:40 To : "Alexander Dilevsky" Subject : Re: goto нет в tcl --------------------------------------------------------------------------------
Alexander,
"AD" == Alexander Dilevsky wrote:
AD> Классический пример такого кода - функция, в нескольких местах которой
AD> присутствуют проверки нетривиальных условий (которые не влезают в
AD> понятие switch), и условный переход в сторону конца функции, перед
AD> которым надо выполнить еще пачку действий (например, очистку). Да, это
AD> моделируется путем флагов (и приводит к непонятности кода), либо путем
AD> дублирования пачки действий (что совсем плохо по понятным причинам),
AD> может быть еще исключениями, если они есть в языке, хотя сюда
AD> притягиваются за уши. В _данном_ случае goto короче, понятнее и
AD> потенциально безопаснее.
Блин. Выносишь сложные условия в отдельные функции, повторяющиеся куски
кода туда же. Если функция длинее 25 строк -- разрезаешь ёё на части.
Все функции, что не влазят на стандартный экран терминала are evil!
--
Andrey V Khavryuchenko http://www.kds.com.ua/
Offshore Software Development
--- ifmail v.2.15dev5
* Origin: KDS Software Group (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/1802621c31a2d.html, оценка из 5, голосов 10
|