Re[18]: Изменения в MFC 7.0/7.1
От: Serguei666 Беларусь  
Дата: 03.06.03 21:12
Оценка:
Здравствуйте, Аноним, Вы писали:

А>>>Вот, вот. Это я называю маразмом псевдоструктурного программирования в чистом виде. Снижаеться производительность,

S>>Кого волнует производительность в данном случае? Меня — нет. Вы снижение производительности и замерить-то не сможете — настолько оно будет незначительным.
А>Конечно, если это процедура не вызываеться где нибудь пару милилонов раз.
Дык хоть газиллионов. Какая мне разница, если вы численную оценкы представить не можете?

А>>>читабельность

S>>читабельность — дело субъективное. По мне так читабельность моей версии вполне OK. Ну, конечно, при правильном форматировании, которое потерялось, потому что тэг "code" забыл поставить
А> Эт вы написали только потому что в любом случае нужно возразить.
Да уж, только и делаю, что вам возражаю

S>>В данном (и не только в данном) случае "читабельность" абсолютно объективна. Это скажет любой разумный человек.

Вы так говорите специально, чтобы я либо признал себя неразумным, либо с вами согласился?

S>>Даже если отбросить элементарную громоздкость кода и трезво оценить читабельность.

По каким критериям громоздкость оценивать будем?

А>Скажем просматривает человек ваш код (я всё же думаю что реальный код будет немного более сложнее, не так примитивен) и видит.


А>ToContinue = false;

А>break;
А>он ищет глазами конец цикла ...
А>"- ура, нашёл "
А>но там он видит
А>if(!ToContinue) break;
А>Ну ничего. Он ищет следующий конец цикла.
А>"- ура, нашёл "
А>но там
А>if(!ToContinue) break;
А>Тут он начинает вспоминать "хорошими словами" того, кто это писал.
Не надо глазами искать. Надо F3 нажимать (Find Next)

А>Он ищет следующий конец цикла.

А>Уже без особой радости и с подозрением он его находит.
А>И что он видит? Правильно
А>if(!ToContinue) break;
А>И он уже готов убить того, кто это писал.
А>С трудом совладав с чувствами он всё же находит в себе силы проюолжить поиски.
А>И о счастье, вот оно избавлениею
А что же вы хотели, с циклом вложенности 4? Это вам не шуточки. Я за восемь лет ни одного цикла вложенностью 4 не написал, написал пару циклов вложенности 3. Раз в восемь лет можно и напрячься, не находите?


А>Что же происходит если человек видит goto.

А>- Ё моё, кто это писал, это же не структурное пр-е
А>Но тем неменее он переваривает отвращение и просто находит метку ... находит он её быстро, потому что она одна большими буквами и с жирным коментарием.
Да-да. Находит, чтобы сразу стереть и написать без goto . Я бы именно так и сделал.


А>И потом, если читабельность это дело субъективное, нто из-за чего весь сыр бор? Ведь главный минус (и практически единственный) goto это снижение читабельности при его злоупотреблении. Вы когда нибудь видели старые большие программы на Байсике или Фортране? Это то, что называеться Write only code. Это действительно ужас, невозможно понять

Ну и что? То, что код Write only — не делает чести его разработчикам.

А>куда какие переходы и почему.

А>Есть конечно другой негативный аспект goto. Это так называемое нарушение логики программы. Ну то есть нелогичный оператор, не имеющий отношение к логике и выполняющий просто навигацию по коду. Но это из разряда чистой филисофии не связанной с практикой. В данном случае невозможно ненарушить логику. Суть в том что нужно завершить итеративный процесс ... но "логичные" операторы языка не позволяют это сделать сразу. А все извращения с поступенчатым выходом из циклов с помощью флажка есть так же не имеют под собой алгоритмической логики ... они не несут смысловой логической нагрузки. Суть в том что надо выйти из цыклов и для реализации этого вы пишите длинную последовательность операций которая сводиться к простой новигации по коду с целью достичь нужной точки, при этом затрачиваються как вычислительные ресурсы так и память, вместо того что бы зделать goto, cуть котрого в простом изменении указателя команд.
Ну, про траты вычислительных ресурсов и памяти я сказал. Оценить-то все равно не сможете.

А>Я вас убедил? Неужели всё это я писал зря .

А что вы хотите? Чтобы я начал писать goto? "Скорее небо упадет на Землю и Дунай потечет в другую сторону" ((c) турки в ответ на ультиматум Суворова).

А>>>только что б не страшный goto

S>>А что, этого мало?
А>Так что в нём страшного?
Вы же сами и написали, чего. См.выше, читайте начиная с "Есть конечно другой негативный аспект goto"

А>>>несмотря на то что применение goto здесь выгодно во всех отношениях.

S>>Не вижу никаких выгод. Что мне дает goto, кроме головной боли?
А>У вас что компьютер пронзительно пищит на строчке goto ... так его
Упражняемся в остроумии? Как же комьютер может определить наличие у меня на экране строчки goto?

S>>Производительность не упоминать без численной оценки и описания способов измерения.

А>Ну такты можно посчитать ))) без учёта оптимизации )))
Считайте. Результатами поделИтесь.
Хотите сказать 'спасибо'? Тогда поставьте оценку
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.