Есть у меня погромист - уже больше полугода пишет один сайт для меня. Ну, я думал, наверное, сайт очень сложный. А вот недавно на глаза мне попался его код... На входе он берет из базы значения типа таких "1,3,12,34,45,66" - это переменная $ids. Ну а дальше вы поймете... Код (PHP): $temp_char = ""; $temp_id = ""; $ids_array = array(); for ($i = 0; $i < strlen($ids); $i ++) { $temp_char = substr($ids, $i, 1); if ($temp_char != ",") { $temp_id .= $temp_char; if ($i == (strlen($ids) - 1)) { array_push($ids_array, $temp_id); $temp_id = ""; } } else { array_push($ids_array, $temp_id); $temp_id = ""; } } Так что, сразу, да?
Сишников напоминает. Сталкивался, спорили что пхп это не ся и перебирать длиннющую строку посимвольно непозволительно, но такие уж они люди со сложившимися понятиями алгоритмов. Слава таймстампу что мы можем всё замерить и понять что на пхп так не делается =)
а может тут всё ещё глубже вот автор написал "На входе он берет из базы значения типа таких "1,3,12,34,45,66" - это переменная $ids." вполне может быть что сама архитектура неверная и получать можно сразу массив =)
Я все никак не могу понять - зачем вот так? Код (Text): if ($temp_char != ",") { $temp_id .= $temp_char; if ($i == (strlen($ids) - 1)) { array_push($ids_array, $temp_id); $temp_id = ""; } } else { array_push($ids_array, $temp_id); $temp_id = ""; } Даже если он не знает explode, все равно, зачем тут два раза одно и то же? Может я сам чет не догоняю?
да там может быть все что угодно... но из фактов у нас сейчас только код, и он говорит о его авторе уже и так достаточно. Добавлено спустя 3 минуты 29 секунд: ну так спросите у автора. его объяснение будет еще одним показателем его уровня
Это потому что на последней итерации цикла в переменной $temp_id есть последнее число. Но итерация последняя, следующей - не будет. Соответственно, не отработает последнее else и последнее число не будет добавлено в массив $ids. Добавлено спустя 2 минуты: Ещё у него в коде косяк, что на каждой итерации вызывает strlen(). Мог бы определить длину строки до цикла и записать её в переменную, вместо того, чтобы создавать лишнюю нагрузку на сервер бессмысленными многократными вызовами этой функции.
ну вот. не дали шансов на объяснение автору) Добавлено спустя 2 минуты 27 секунд: просто такие вещи, обычно, выносят из цикла
Тут у него примерно 60 скриптов в папке. Каждое действие вынесено в отдельный файл. В принципе, это удобно для больших проектов, если бы не вот такие строки в КАЖДОМ файле... Код (Text): mysql_connect("localhost", "root", ""); mysql_set_charset("utf8"); mysql_select_db("..."); Не дай бог на хостинге пароль другой будет...
И заодно benedek уволить, если у него подчинённый/программист_ПХП полгода работает, не зная PHP. Не справляется benedek со своей работой...
хочешь на его место???? че вы ваще напали на парня )))) пишет мне тут леди, уволила говорит пограмиста, помоги.....вот он пол года писал (сидя в офисе)..... я глянул и ахуел......как надо умудряться изображать процесс бурной трудовой деятельности и за пол года написать 10 файлов и 1000 строк говнокода )))) так шо нормальный у тя прогер, старается, чтоб сервера не простаивали, коли уж за них заплачено )
вот-вот! наверное позиция не очень доходная, если за полгода никто не поинтересовался что же там происходит.
Просто проект новый, поддерживающий основной бизнес, ну и сфера деятельности компании совсем другая, к интернет-проектам не относящаяся. Никто точно сроки не знает, кроме меня. Эти строки кода, которые я постил, они из мини-проекта - онлайн-тестирование для сотрудников. Я ему задал этот проект на неделю. Сказал, чтобы если бы я 8 часов в день работал над ним - то за 5 дней управился бы (я когда в универе учился, на PHP развлекался от безделья). Прошло 3 или 4 недели - он уже думаю на этой неделе закончит, все почти готово. Тут правда я заметил, что он правильные ответы к вопросу пересылает AJAX-ом...
Да, хреновый из меня руководитель пока что. Учусь на своих ошибках и по ходу дела. Еле разгребаю более важные задачи - иначе бы меня уволили давно уже, не беспокойтесь. Вот теперь уж программистом займусь...
benedek, если задачки мелкие, нанимайте фрилансеров время от времени. со временем будет пара/тройка полезных проверенных контакта. это лучше чем держать на зарплате работника низкой квалификации, зато недорого )
Может дешевле его на курсы повышения квалификации отправить? Поговорить с ним, может у него проблемы какие нибудь. Давай по человечески относится к программистам
Этот упертый, реально. Смотрю в базу - там таблица с вопросами для теста. id со свойством autoincrement question - вопрос answers_id - еще один id, чтобы соотносить этот вопрос с ответами из другой таблицы базы. Я ему говорю - нахрена использовать answers_id, если можно взять просто id для этой же цели. Он меня убеждает, что это совершенно разные вещи и тот id ненадежный и постоянно САМ УВЕЛИЧИВАЕТСЯ, когда вставляешь новый вопрос. блин, пол часа ушло, чтобы убедить.
Тогда это наверное не его, ему наверное стоит заняться чем нибудь другим в жизни. Так что увольнением вы сделаете ему только благо
Вай-вай-вай пренепременно уволить!!!! benedek'а в первую очередь. Всегда нравились отмазы "я только учусь", когда вопрос относиться к самому себе и "вот какой негодяй!!! сжечь ведьму!!!!" когда вопрос касается подчиненных ))))) просто ааабажаю таких людей ))))) еще и на общее голосование вынес ..... видимо по форумам некасающихся его прямых обязанностей у него есть время ползать