(bolt @ Среда, 29 Июня 2005, 20:07) писал(а):Для flook:
Имхо, лучше не увлекай goto. Тут действует правило: чем меньше, тем лучше. И насчет багов ты тоже не прав.
Еще как прав. Большое кол-во goto при дизассемблировании превращается в довольно симпатишный код, который выглядит примерно так
и когда случается BUG или Oops то такой код отследить и сопоставить с Cшным гораздо проще чем то, что получается без goto. Практически всегда.
(bolt @ Среда, 29 Июня 2005, 20:07) писал(а):Отыскивать их как раз с goto на порядок тяжелее ( конечно, это зависит насколь юлиные прыжки и от их кол-ва )
Кстати насчет исходнико ядра: ты не сравнивай это дело, т.к. там goto используется для оптимизации кода. Там написано в стиле ассемблера в C-синтаксисе.
Там для оптимизации кода используется не только goto и кода используется НЕ goto следить по asm коду за C кодом становится делом слишком тяжким...
Я тоже сначала был "goto-purist-ом", а потом, когда год провозился с ядром, посмотрел на этот код мне и в user_space стало проще писать за счет использования "ядерных шаблонов"...
Кстати еще один плюс в использовании "рекламируемых" :P мною конструкция заключается в следующем. Когда в программе туча вложенныи if, while, switch и иже с ними из-за использования indentation в 8 символов код оччень быстро сползает вправо и в консоли (25Х80) его не прочтешь... А такой indent и 25X80 - стандарт кода ядра прописаный в KernelCodingStyle не придерживаясь которого нет никаких шансов что твой код хотябы посмотрят хлопцы из torvalds'n'co.
В каждом из нас спит гений... и с каждым днем все крепче...