Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Alexander Dilevsky                   2:5020/400     10 Dec 2001  09:43:49
 To : Andrey Khavryuchenko
 Subject : Re: goto нет в tcl
 -------------------------------------------------------------------------------- 
 
 
 "Andrey Khavryuchenko" <akhavr@kds.com.ua> wrote in message
 news:m3n10s6rtr.fsf@netmaster.kds.com.ua...
 
 > Alexander,
 >
 > "AD" == Alexander Dilevsky wrote:
 >
 >  AD> Классический пример такого кода - функция, в нескольких местах
 
 которой
 
 >  AD> присутствуют проверки нетривиальных условий (которые не влезают в
 >  AD> понятие switch), и условный переход в сторону конца функции, перед
 >  AD> которым надо выполнить еще пачку действий (например, очистку). Да,
 
 это
 
 >  AD> моделируется путем флагов (и приводит к непонятности кода), либо
 
 путем
 
 >  AD> дублирования пачки действий (что совсем плохо по понятным причинам),
 >  AD> может быть еще исключениями, если они есть в языке, хотя сюда
 >  AD> притягиваются за уши.  В _данном_ случае goto короче, понятнее и
 >  AD> потенциально безопаснее.
 >
 > Блин.  Выносишь сложные условия в отдельные функции, повторяющиеся куски
 > кода туда же.  Если функция длинее 25 строк -- разрезаешь ёё на части.
 
 Hу знаете, выносить чистку локальных переменных функции в другую функцию
 только из-за преданности структурному программированию - это уже слишком :)
 
 > Все функции, что не влазят на стандартный экран терминала are evil!
 
 Hу в теории, конечно, так, а на практике - назови хоть один реальный проект,
 код которого следует этому правилу ;)
 
 >
 > --
 > Andrey V Khavryuchenko          http://www.kds.com.ua/
 > Offshore Software Development
 --
 Alexander Dilevsky
 mailto:dil@cea.ru
 
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: goto нет в tcl   Alexander Dilevsky   10 Dec 2001 00:35:13 
 Re: goto нет в tcl   Andrey Khavryuchenko   10 Dec 2001 01:01:40 
 Re: goto нет в tcl   Alexander Dilevsky   10 Dec 2001 09:43:49 
 Re: goto нет в tcl   Andrey Khavryuchenko   10 Dec 2001 11:40:23 
 Re: goto нет в tcl   Vladimir Bormotov   10 Dec 2001 19:41:52 
 Re: goto нет в tcl   Andrey Khavryuchenko   11 Dec 2001 01:01:08 
 goto нет в tcl   Ilya S Slyzhnyak   13 Dec 2001 09:30:37 
 Re: goto нет в tcl   Serguei Khvatov   10 Dec 2001 12:52:41 
 Re: goto нет в tcl   Andrey Khavryuchenko   10 Dec 2001 14:01:36 
 Re[2]: goto нет в tcl   Ђ«ҐЄб ­¤а „ҐаЄ з   10 Dec 2001 20:47:24 
 Re: Re[2]: goto нет в tcl   Andrey Khavryuchenko   11 Dec 2001 01:01:09 
 Re: Re[2]: goto нет в tcl   Vladimir Bormotov   11 Dec 2001 06:21:54 
 Re[4]: goto нет в tcl   Ђ«ҐЄб ­¤а „ҐаЄ з   11 Dec 2001 14:28:47 
 Re: Re[4]: goto нет в tcl   Andrey Khavryuchenko   11 Dec 2001 15:22:12 
 Re: Re[4]: goto нет в tcl   Vladimir Bormotov   11 Dec 2001 23:41:39 
 Re: goto нет в tcl   Max Ischenko   10 Dec 2001 14:19:59 
 Re: goto нет в tcl   vitus@ice.ru   10 Dec 2001 11:32:14 
Архивное /ru.linux/6577cb6cf0c3.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional