За последние 24 часа нас посетили 17939 программистов и 1640 роботов. Сейчас ищут 675 программистов ...

Уволить его сразу?

Тема в разделе "HUMOR.PHP.RU", создана пользователем benedek, 18 дек 2012.

  1. benedek

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

    С нами с:
    18 дек 2012
    Сообщения:
    8
    Симпатии:
    0
    Есть у меня погромист - уже больше полугода пишет один сайт для меня. Ну, я думал, наверное, сайт очень сложный. А вот недавно на глаза мне попался его код...

    На входе он берет из базы значения типа таких "1,3,12,34,45,66" - это переменная $ids. Ну а дальше вы поймете...

    Код (PHP):
    1.     $temp_char = "";
    2.     $temp_id = "";
    3.     $ids_array = array();
    4.     
    5.     for ($i = 0; $i < strlen($ids); $i ++) {
    6.         $temp_char = substr($ids, $i, 1);
    7.         
    8.         if ($temp_char != ",") {
    9.             $temp_id .= $temp_char;
    10.             
    11.             if ($i == (strlen($ids) - 1)) {
    12.                 array_push($ids_array, $temp_id);
    13.                 $temp_id = "";
    14.             }
    15.         } else {
    16.             array_push($ids_array, $temp_id);
    17.             $temp_id = "";
    18.         }
    19.     }
    20.  
    Так что, сразу, да?
     
  2. siiXth

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

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    Сишников напоминает. Сталкивался, спорили что пхп это не ся и перебирать длиннющую строку посимвольно непозволительно, но такие уж они люди со сложившимися понятиями алгоритмов. Слава таймстампу что мы можем всё замерить и понять что на пхп так не делается =)
     
  3. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    пора рассказать ему о explode...
    а может он просто мазохист)
     
  4. siiXth

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

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    а может тут всё ещё глубже
    вот автор написал
    "На входе он берет из базы значения типа таких "1,3,12,34,45,66" - это переменная $ids."
    вполне может быть что сама архитектура неверная и получать можно сразу массив =)
     
  5. benedek

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

    С нами с:
    18 дек 2012
    Сообщения:
    8
    Симпатии:
    0
    Я все никак не могу понять - зачем вот так?
    Код (Text):
    1.  
    2.       if ($temp_char != ",") {
    3.          $temp_id .= $temp_char;
    4.          
    5.          if ($i == (strlen($ids) - 1)) {
    6.             array_push($ids_array, $temp_id);
    7.             $temp_id = "";
    8.          }
    9.       } else {
    10.          array_push($ids_array, $temp_id);
    11.          $temp_id = "";
    12.       }
    Даже если он не знает explode, все равно, зачем тут два раза одно и то же? Может я сам чет не догоняю?
     
  6. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    да там может быть все что угодно...
    но из фактов у нас сейчас только код, и он говорит о его авторе уже и так достаточно.

    Добавлено спустя 3 минуты 29 секунд:
    ну так спросите у автора. его объяснение будет еще одним показателем его уровня
     
  7. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Это потому что на последней итерации цикла в переменной $temp_id есть последнее число. Но итерация последняя, следующей - не будет. Соответственно, не отработает последнее else и последнее число не будет добавлено в массив $ids.

    Добавлено спустя 2 минуты:
    Ещё у него в коде косяк, что на каждой итерации вызывает strlen(). Мог бы определить длину строки до цикла и записать её в переменную, вместо того, чтобы создавать лишнюю нагрузку на сервер бессмысленными многократными вызовами этой функции.
     
  8. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    ну вот. не дали шансов на объяснение автору)

    Добавлено спустя 2 минуты 27 секунд:
    просто такие вещи, обычно, выносят из цикла
     
  9. benedek

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

    С нами с:
    18 дек 2012
    Сообщения:
    8
    Симпатии:
    0
    Тут у него примерно 60 скриптов в папке. Каждое действие вынесено в отдельный файл. В принципе, это удобно для больших проектов, если бы не вот такие строки в КАЖДОМ файле...
    Код (Text):
    1.  
    2.     mysql_connect("localhost", "root", "");
    3.     mysql_set_charset("utf8");
    4.     mysql_select_db("...");
    Не дай бог на хостинге пароль другой будет...
     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    уволить без сомнений.
     
  11. Chushkin

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

    С нами с:
    17 дек 2010
    Сообщения:
    1.062
    Симпатии:
    91
    Адрес:
    Мещёра, Центр, Болото N3
    И заодно benedek уволить, если у него подчинённый/программист_ПХП полгода работает, не зная PHP. Не справляется benedek со своей работой...
     
  12. jenya777777

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

    С нами с:
    16 мар 2010
    Сообщения:
    562
    Симпатии:
    0
    А сколько платят этому программисту?
     
  13. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Chushkin
    это да... =) проебали бюджет. Надо контролить код!
     
  14. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    хочешь на его место????

    че вы ваще напали на парня ))))


    пишет мне тут леди, уволила говорит пограмиста, помоги.....вот он пол года писал (сидя в офисе).....

    я глянул и ахуел......как надо умудряться изображать процесс бурной трудовой деятельности и за пол года написать 10 файлов и 1000 строк говнокода

    ))))

    так шо нормальный у тя прогер, старается, чтоб сервера не простаивали, коли уж за них заплачено )
     
  15. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    не нормальный =)
     
  16. jenya777777

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

    С нами с:
    16 мар 2010
    Сообщения:
    562
    Симпатии:
    0
    Так может за их зарплату только такой и будет работать прогер.
     
  17. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.105
    Симпатии:
    1.243
    Адрес:
    там-сям
    вот-вот! наверное позиция не очень доходная, если за полгода никто не поинтересовался что же там происходит.
     
  18. benedek

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

    С нами с:
    18 дек 2012
    Сообщения:
    8
    Симпатии:
    0
    Просто проект новый, поддерживающий основной бизнес, ну и сфера деятельности компании совсем другая, к интернет-проектам не относящаяся. Никто точно сроки не знает, кроме меня. Эти строки кода, которые я постил, они из мини-проекта - онлайн-тестирование для сотрудников. Я ему задал этот проект на неделю. Сказал, чтобы если бы я 8 часов в день работал над ним - то за 5 дней управился бы (я когда в универе учился, на PHP развлекался от безделья). Прошло 3 или 4 недели - он уже думаю на этой неделе закончит, все почти готово. Тут правда я заметил, что он правильные ответы к вопросу пересылает AJAX-ом...
     
  19. Invision

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

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    А куда автор смотрел пол года?
     
  20. benedek

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

    С нами с:
    18 дек 2012
    Сообщения:
    8
    Симпатии:
    0
    Да, хреновый из меня руководитель пока что. Учусь на своих ошибках и по ходу дела. Еле разгребаю более важные задачи - иначе бы меня уволили давно уже, не беспокойтесь. Вот теперь уж программистом займусь...
     
  21. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.105
    Симпатии:
    1.243
    Адрес:
    там-сям
    benedek, если задачки мелкие, нанимайте фрилансеров время от времени. со временем будет пара/тройка полезных проверенных контакта.
    это лучше чем держать на зарплате работника низкой квалификации, зато недорого )
     
  22. jenya777777

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

    С нами с:
    16 мар 2010
    Сообщения:
    562
    Симпатии:
    0
    Может дешевле его на курсы повышения квалификации отправить? Поговорить с ним, может у него проблемы какие нибудь. Давай по человечески относится к программистам
     
  23. benedek

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

    С нами с:
    18 дек 2012
    Сообщения:
    8
    Симпатии:
    0
    Этот упертый, реально.
    Смотрю в базу - там таблица с вопросами для теста.
    • id со свойством autoincrement
    • question - вопрос
    • answers_id - еще один id, чтобы соотносить этот вопрос с ответами из другой таблицы базы.

    Я ему говорю - нахрена использовать answers_id, если можно взять просто id для этой же цели. Он меня убеждает, что это совершенно разные вещи и тот id ненадежный и постоянно САМ УВЕЛИЧИВАЕТСЯ, когда вставляешь новый вопрос.

    блин, пол часа ушло, чтобы убедить.
     
  24. jenya777777

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

    С нами с:
    16 мар 2010
    Сообщения:
    562
    Симпатии:
    0
    Тогда это наверное не его, ему наверное стоит заняться чем нибудь другим в жизни. Так что увольнением вы сделаете ему только благо
     
  25. kimrbv

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

    С нами с:
    27 дек 2012
    Сообщения:
    8
    Симпатии:
    1
    Вай-вай-вай
    пренепременно уволить!!!! benedek'а в первую очередь. Всегда нравились отмазы "я только учусь", когда вопрос относиться к самому себе и "вот какой негодяй!!! сжечь ведьму!!!!" когда вопрос касается подчиненных )))))
    просто ааабажаю таких людей )))))
    еще и на общее голосование вынес ..... видимо по форумам некасающихся его прямых обязанностей у него есть время ползать