|
|
|||||
Циклы для профи
Салют!
Периодически просматривал исходники движков или просто чужих приложений и заметил одну особенность - чем больше мне нравится стройность кода и алгоритмов (для меня это один из признаков проффесионализма), тем реже в таких исходниках встречается слово "for". Возник вопрос: "Почему умные люди отказываются от такой удобной конструкции, как цикл FOR?" ("FOR-IN" это не касается) Когда я задал этот вопрос себе, то ничего из этого не вышло - похвастаться хорошими познаниями в программировании я не могу даже перед собой. Полез в Гугол, но там не нашел ничего внятнее, чем тесты, результаты которых не дают большой разницы. Искать ответ мне надоело и я просто решыл отучиться от цикла FOR. Я даже нашел в этом позитив - когда нет разници в порядке обхода элементов массива я всегда делаю обратный обход: красивый и компактный вариант против громоздкого var len:int = arr.length; var i:int = 0; while (i < len) { // очень много строк кода с элементом arr[i] i++; } И сегодня меня волнует новый вопрос: "А стоило переходитm с цикла FOR на цикл WHILE?" Есть ли у кого нибуть умные мысли по этому поводу? |
|
|||||
А можно пример? Немогу даже представить такой ситуации.
И все в порядке. Как только начал писать свои get/set-методы сразу понял, что в цикле легче работать с переменной чем с get-функцией length. И все же не понятно, почему люди отказываются от удобной конструкции, если разници нет? Можна было бы спихнуть все на понтовые олдскульные приемы, но циклы со счетчиком такие же древние, как и олдскульные программисты. Может кто нибуть высказаться в пользу цикла while? |
|
|||||
Lorem ipsum
|
Цитата:
Поэтому перед циклом длину в переменную сохраняют.
__________________
Поймай яблоко 2! |
|
|||||
Регистрация: Feb 2013
Сообщений: 176
|
for - быстрее. он на 1 инструкцию короче, чем while --i, можно убедиться декомпиляцией тестов, если речь пошла о таких сравнениях
|
|
|||||
Цитата:
вот for in или for each in нельзя, но это уже другое Цитата:
|
|
|||||
Цитата:
__________________
משיח לא בא משיח גם לא מטלפן |
|
|||||
listener
|
Гле-то читал в литературе примерно следующее субъективное мнение.
Когда программирование стало доступным? Да, с приходом Basic. Его стали преподавать везде и всюду. Цикл FOR для бейсика - это своего рода завоевание (не во всех языках эта конструкция поддерживалась изначально), все, кто изучал программирование на Basic - всегда пишут FOR, их даже узнать легко по этой фишке. Но реальные пацаны выше этих яслей, они юзают кондовый WHILE. |
Часовой пояс GMT +4, время: 11:04. |
|
« Предыдущая тема | Следующая тема » |
|
|