Набежал народ понасоветовали самых коротких программ Вы хоть название темы читали? Игорь(дата) вот кто балабол)) siiXth, как бороться с напряжением ? Не знаю, постарел что-ли, когда включаю комп в голове напряжение начинается. Думалка почти не работает. Отключил - нормально, можно походить минуту две придумать чтонибудь.
кстати, раз уж тут заговорили про эффективность: подскажите, пожалуйста, где можно почитать про эффективное (в плане быстродействия) написание кода на php. Например, что выполнится быстрее: PHP: <?php for($i=1; $i<count($array); $i++) { // somecode } или PHP: <?php $c=count($array); for($i=1; $i<$c; $i++) { // somecode } В-общем, чтобы можно было ответить на подобные вопросы.
если значение функции передаваемое в параметр цикла будет помещено в "регистр" (хотя какой регистр на таком высокоуровневом языке =) стек какой нить...) - пофиг, но, например всякие дельфи/сишарпы умеют так делать
А разве count($array) в первом листинге - не будет вычисляться заново на каждой итерации цикла? Если будет, то явно второй вариант работает быстрее. Я всегда так делаю - сперва записываю в переменную, а в цикле только с ней работаю. Ну а вообще такие вещи можно узнать опытным путём.
Сейчас из любопытства посмотрел - под виндой второй вариант (где сравнение с переменной, а не с count()) работает примерно в три раза быстрее. По крайней мере с величиной массива в 100 000 элементов.
Фаулер писал нечто вроде: Не надо писать код стремясь к быстродействию. Надо писать хорошо читаемый (человеком) и структурированный код, а затем запускать профайлер и смотреть узкие места. В 90% случаев они будут не там где хотели применить некое улучшение. Если производить оптимизацию при написании кода, то оптимизация будет размазана по программе в большинстве случаев в редко запускаемых местах. На написание и затем понимание этого кода потратится больше сил и времени чем выигрывается от оптимизации. Если же хорошо разбить код на методы, то можно найти узкий метод и сосредоточить усилия на его оптимизации.
Chushkin вот первый критерий - быстродействие программы второй состояние человека, работа должна приносить радость и тебе ничего не должно быть за это))) третий время. за которое прг-мист напишет программу четвёртый твоё продвижение вперёд. с каждой программой чтото в тебе улучшается пятый согласование с другой деятельностью. надо писать программу, но может ты ещё помимо этого пишешь стихи... шестой написать программу меньшими затратами, в т.ч. умственными седьмой ... может сам чтонибудь напишешь? кстати, зачем спрашивал? может тему считаешь ненужной? Апельсина сделаем бугаём-зомби
В случаи новичка - больше писать, просто больше писать, чтобы понимать основы как можно четче, ну а касательно проф разработки, то все зависит и от проекта и от численности команды, и от сроков, статей на эту тему много, бессмысленно повторять одно и то же, погуглите (база знаний нах не нужна), если все было бы так просто, то не нужны были бы программисты, зашел в базу знаний и написал "ИИ для автозаполнения контентом сайта" =))
Ну и что тебе не нравится? Мой пример (и некоторые другие) полностью соответствует всем твоим критериям "эффективного программирования". * кроме этого - хрень какая-то А перечитай ещё раз вопрос и цитату к нему В общем-то, - да. Тема эффективного программирования слишком абстрактна, чтобы получить чёткие и правильные ответы.
Чтобы не была абстрактна надо библиотеку создавать. Составить правила прогамирования да и жизни вообще. Для многих програмирование профессиональное занятие. Ты разобрался как жить програмисту? Для того и тему создал чтобы обсудить вопросы и ответы. Заметил одну тенденцию: Программер создал один масштабный Продукт и чувствует себя Билом Гейтсем, руки опустил. Да и Бил Гейтс походу после создания виндов чувствовал себя как король на именинах. А на самом деле ещё создавать и создавать.
что за глупости про Билла Гейтса? Microsoft из года в год расширяется, пытаясь завоевать лидирующие позиции на как можно большем рынке ИТ: начиная с клиентской ОС, затем офисные приложения, серверная ОС, начальные бд, профессиональные бд, рынок веб-а, серверные приложения, мобильная ОС, рынок программирования десктопных, а затем и веб приложений. Знакомый программист .NET не успевает переучиваться на те технологии, которые внедряет Microsoft. А по эффективному программированию согласен с цитатой Фаулера - умные вещи чувак пишет Соотношение должно быть примерно такое: 80% - планирование 5% - внедрение 15% - отладка и, конечно же, через определённое время - рефакторинг с учётом сделанных изменений и дополнений. имхо, пытаться изначально оптимизировать код в ущерб удобности изменения - пустая трата времени
У виндов один недостаток она неудобна в пользовании. Того что надо нет. Получается человек для компа а должно быть наоборот. Microsoft серьёзная фирма, нафигачили технологий. Не програмирование а сплошное API. Что скажете когда 3-мерную ОС выпустят?