За последние 24 часа нас посетили 22974 программиста и 1724 робота. Сейчас ищут 1711 программистов ...

Приёмы эффективного програмирования

Тема в разделе "Вопросы от блондинок", создана пользователем kadet, 30 авг 2011.

  1. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Volt(220)
    ага
     
  2. kadet

    kadet Активный пользователь

    С нами с:
    2 авг 2010
    Сообщения:
    79
    Симпатии:
    0
    Набежал народ понасоветовали самых коротких программ :D
    Вы хоть название темы читали? Игорь(дата) вот кто балабол))

    siiXth, как бороться с напряжением ? Не знаю, постарел что-ли, когда включаю комп в голове напряжение начинается. Думалка почти не работает. Отключил - нормально, можно походить минуту две придумать чтонибудь.
     
  3. Chushkin

    Chushkin Активный пользователь

    С нами с:
    17 дек 2010
    Сообщения:
    1.062
    Симпатии:
    91
    Адрес:
    Мещёра, Центр, Болото N3
    Ваши критерии "эффективности"?
     
  4. krow7

    krow7 Активный пользователь

    С нами с:
    12 авг 2009
    Сообщения:
    398
    Симпатии:
    0
    Адрес:
    из Азии
    кстати, раз уж тут заговорили про эффективность: подскажите, пожалуйста, где можно почитать про эффективное (в плане быстродействия) написание кода на php.
    Например, что выполнится быстрее:
    PHP:
    1. <?php
    2. for($i=1; $i<count($array); $i++)
    3. {
    4.    // somecode
    5. }
    или
    PHP:
    1. <?php
    2. $c=count($array);
    3. for($i=1; $i<$c; $i++)
    4. {
    5.    // somecode
    6. }
    В-общем, чтобы можно было ответить на подобные вопросы.
     
  5. alexfer

    alexfer Активный пользователь

    С нами с:
    2 авг 2010
    Сообщения:
    239
    Симпатии:
    0
    krow7
    пофиг.
    PHP:
    1. <?php
    2. do{}while();
    рулит :)
    а for сферичекое
     
  6. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    если значение функции передаваемое в параметр цикла будет помещено в "регистр" (хотя какой регистр на таком высокоуровневом языке =) стек какой нить...) - пофиг, но, например всякие дельфи/сишарпы умеют так делать
     
  7. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    А разве count($array) в первом листинге - не будет вычисляться заново на каждой итерации цикла? Если будет, то явно второй вариант работает быстрее. Я всегда так делаю - сперва записываю в переменную, а в цикле только с ней работаю. Ну а вообще такие вещи можно узнать опытным путём.
     
  8. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Сейчас из любопытства посмотрел - под виндой второй вариант (где сравнение с переменной, а не с count()) работает примерно в три раза быстрее. По крайней мере с величиной массива в 100 000 элементов.
     
  9. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    [​IMG]
     
  10. krow7

    krow7 Активный пользователь

    С нами с:
    12 авг 2009
    Сообщения:
    398
    Симпатии:
    0
    Адрес:
    из Азии
    но сабж-то был про то, где можно про быстродействие в PHP почитать :)
    Знатоки, подскажите, пожалуйста.
     
  11. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    krow7
    Шлосснейгл
     
  12. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    Апельсин
    гат! ))))))
     
  13. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    Фаулер писал нечто вроде:
    Не надо писать код стремясь к быстродействию. Надо писать хорошо читаемый (человеком) и структурированный код, а затем запускать профайлер и смотреть узкие места. В 90% случаев они будут не там где хотели применить некое улучшение.
    Если производить оптимизацию при написании кода, то оптимизация будет размазана по программе в большинстве случаев в редко запускаемых местах. На написание и затем понимание этого кода потратится больше сил и времени чем выигрывается от оптимизации. Если же хорошо разбить код на методы, то можно найти узкий метод и сосредоточить усилия на его оптимизации.
     
  14. kadet

    kadet Активный пользователь

    С нами с:
    2 авг 2010
    Сообщения:
    79
    Симпатии:
    0
    Chushkin вот первый критерий - быстродействие программы
    второй состояние человека, работа должна приносить радость и тебе ничего не должно быть за это)))
    третий время. за которое прг-мист напишет программу
    четвёртый твоё продвижение вперёд. с каждой программой чтото в тебе улучшается
    пятый согласование с другой деятельностью. надо писать программу, но может ты ещё помимо этого пишешь стихи...
    шестой написать программу меньшими затратами, в т.ч. умственными
    седьмой ... может сам чтонибудь напишешь?
    кстати, зачем спрашивал? может тему считаешь ненужной?
    Апельсина сделаем бугаём-зомби [​IMG]
     
  15. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    100% он прав.
     
  16. karlozzz

    karlozzz Активный пользователь

    С нами с:
    24 окт 2010
    Сообщения:
    430
    Симпатии:
    0
    Адрес:
    Y-OLA
    В случаи новичка - больше писать, просто больше писать, чтобы понимать основы как можно четче, ну а касательно проф разработки, то все зависит и от проекта и от численности команды, и от сроков, статей на эту тему много, бессмысленно повторять одно и то же, погуглите (база знаний нах не нужна), если все было бы так просто, то не нужны были бы программисты, зашел в базу знаний и написал "ИИ для автозаполнения контентом сайта" =))
     
  17. Chushkin

    Chushkin Активный пользователь

    С нами с:
    17 дек 2010
    Сообщения:
    1.062
    Симпатии:
    91
    Адрес:
    Мещёра, Центр, Болото N3
    Ну и что тебе не нравится? Мой пример (и некоторые другие) полностью соответствует всем твоим критериям "эффективного программирования".

    * кроме этого - хрень какая-то

    А перечитай ещё раз вопрос и цитату к нему ;)

    В общем-то, - да. Тема эффективного программирования слишком абстрактна, чтобы получить чёткие и правильные ответы.
     
  18. kadet

    kadet Активный пользователь

    С нами с:
    2 авг 2010
    Сообщения:
    79
    Симпатии:
    0
    Чтобы не была абстрактна надо библиотеку создавать. Составить правила прогамирования да и жизни вообще. Для многих програмирование профессиональное занятие.
    Ты разобрался как жить програмисту? Для того и тему создал чтобы обсудить вопросы и ответы.

    Заметил одну тенденцию: Программер создал один масштабный Продукт и чувствует себя Билом Гейтсем, руки опустил. Да и Бил Гейтс походу после создания виндов чувствовал себя как король на именинах. А на самом деле ещё создавать и создавать.
     
  19. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    kadet
    Самое большое количество выпущенного программного обеспечения знаете у какой корпорации?
     
  20. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    что за глупости про Билла Гейтса?

    Microsoft из года в год расширяется, пытаясь завоевать лидирующие позиции на как можно большем рынке ИТ:
    начиная с клиентской ОС, затем офисные приложения, серверная ОС, начальные бд, профессиональные бд,
    рынок веб-а, серверные приложения, мобильная ОС, рынок программирования десктопных, а затем и веб приложений.

    Знакомый программист .NET не успевает переучиваться на те технологии, которые внедряет Microsoft.


    А по эффективному программированию согласен с цитатой Фаулера - умные вещи чувак пишет :)

    Соотношение должно быть примерно такое:
    80% - планирование
    5% - внедрение
    15% - отладка

    и, конечно же, через определённое время - рефакторинг с учётом сделанных изменений и дополнений.

    имхо, пытаться изначально оптимизировать код в ущерб удобности изменения - пустая трата времени
     
  21. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    я тоже забил и ковыряюсь в NET2.0 :)
     
  22. kadet

    kadet Активный пользователь

    С нами с:
    2 авг 2010
    Сообщения:
    79
    Симпатии:
    0
    У виндов один недостаток она неудобна в пользовании. Того что надо нет. Получается человек для компа а должно быть наоборот.
    Microsoft серьёзная фирма, нафигачили технологий. Не програмирование а сплошное API. Что скажете когда 3-мерную ОС выпустят?
     
  23. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    логично же - будем ковыряться в апи :)
     
  24. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    kadet
    бери NET, там нет АПИ :)
    ну т.е. вызвать можно, но можно и без него