![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Цитата:
![]() Вот этого варианта нагляднее и проще обычный for (а не for in/while): |
|
|||||
|
Цитата:
- нет типизации функций, - вызов функции непростительно дорог. В сортировке только используется и то только потому, что копипастить алгоритм сортировки слишком дико. Но в особо критических местах именно не быстрый вызов функции заставляет делать свою реализацию сортировки. В as3 я использовал функции высших порядков только для выбора наиболее подходящих значений/вариантов/объектов по критериям. Критерии были как раз функциями, передававшимися в алгоритм выборки. Но это использовалось только в AI, туториале. В основной логике такого не было - дорого потому что и не типизировано. Да даже и в C# как-то стремно эти штуки использовать, мало ли как на производительности скажется, только когда без них код слишком страшным становится. Да, логично, Вы здесь индекс используете внутри цикла и было бы слегка странно гнать foreach-ем и итерировать внутри цикла i++ одновременно, сравнивать i и вызывать break. |
|
|||||
|
Modus ponens
|
Цитата:
Ну и вот сейчас же пишут оптимизирующий компилятор. Ну и вообще, нужно же и по-сторонам смотреть. Даже если сейчас технически нет возможности сделать так, как нужно / хочется в AS3, это не значит, что такой возможности никогда не будет. Может кто-то соберется и сделает, а может Адоби разродится, а может человек переквалифицируется. Кстати, по поводу функций высших порядков - я думаю, Страуструп еще об этом говорил.
__________________
Hell is the possibility of sanity |
|
|||||
|
Что вообще за пустотелый бред - мерить профессионализм циклами? это знатное трололо !!!
А вот какой из этих 2х примеров профессиональнее??! ))) ???
__________________
Марк Tween |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Цитата:
|
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Цитата:
|
|
|||||
|
Регистрация: Mar 2010
Сообщений: 137
|
Зачем применительно к скриптовому языку обсуждают способы выиграть несколько команд процессора? По-моему, куда важнее читабельность кода. И for, по-моему, в этом смысле лучше подходит почти во всех случаях.
P.S.: Я могу ошибаться, но мой опыт работы с С++ подсказывает, что while (i--) стоит делать чуть чаще чем никогда (так же как использовать побитные команды для оптимизации всяких умножений и округлений). По-моему, не стоит, опираться на особенности представления числа в памяти при работе с ним. Представление может поменяться, может поменяться разрядность числа (опять-таки, вполне вероятно, что для скриптовых языков это не так актуально и я ошибаюсь, если что - поправте меня). Плюс формально не логично - использовать число в качестве флага. Тут хоть декримент стоит и видно, что это число. А если бы было что-то вроде while(i) - вообще беда и путаница для программиста, читающего код. Цитата:
|
|
|||||
|
Второй да, ну хоть объяснили бы почему)))
По сабжу, я вообще, например, не использую while - тут кто к чему привык, кому как удобно. с for - код читабельнее это 100%, скорости почти одинаковы. Так что, профессиональнее там - где читать удобно и понятно
__________________
Марк Tween |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
in4core, Вы сами-то заметили, что у Вас условия разные?
Первое выдаст трейс, если count=-1, а второе — нет. Это ответ на вопрос "почему второй", если такой возникнет. Потому что так вероятность ошибки "не учёл" практически исключена.
__________________
Reality.getBounds(this); |
![]() |
![]() |
Часовой пояс GMT +4, время: 15:57. |
|
|
« Предыдущая тема | Следующая тема » |
|
|