URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 39459
[ Назад ]

Исходное сообщение
"OpenNews: [P][BR]Хороший и плохой PHP код"

Отправлено opennews , 19-Дек-07 12:57 
Посетитель под ником Scorpion перевел (http://www.opennet.me/base/dev/good_php_code.txt.html) статью Кевина Янга с рассуждением о разнице, между хорошим и плохим PHP кодом и одном из методов определения уровня компетентности PHP программиста.

URL: http://www.opennet.me/base/dev/good_php_code.txt.html
Новость: http://www.opennet.me/opennews/art.shtml?num=13336


Содержание

Сообщения в этом обсуждении
"Хороший и плохой PHP код"
Отправлено Аноним , 19-Дек-07 12:57 
Статья ни о чем

"Хороший и плохой PHP код"
Отправлено Vladimir A , 19-Дек-07 13:10 
хороший код - мертвый код

"Хороший и плохой PHP код"
Отправлено guest , 19-Дек-07 13:33 
хороший программист на пхп - мёртвый программист.
Квалифицированного программиста определить очень просто: он не пишет на пхп.
"Хороший код на пхп" это оксюморон.

"Хороший и плохой PHP код"
Отправлено Knuckles , 19-Дек-07 18:08 
на чем еще по-вашему не пишет "квалифицированный" программист?

"Хороший и плохой PHP код"
Отправлено Mike , 19-Дек-07 19:21 
>хороший программист на пхп - мёртвый программист.
>Квалифицированного программиста определить очень просто: он не пишет на пхп.
>"Хороший код на пхп" это оксюморон.

Не согласен. Чтобы хорошо писать на php мало знать конструкции языка, т.к. php для веб-разработки в основном применяется, то нужно понимать в вопросах безопасности веб-приложений, нужно знать sql (php и mysql - как ленин и партия едины, 80% процентов програмеров на php заявят уверенно, что знают sql, а они же ни хуя не знают кроме select * from table), нужно хотя бы немного понимать в юниксах, т.к. хостинги на юниксах крутятся.

Как видите даже навскидку набралось не мало вещей, которых разработчикам на других языках, вообщем то знать не обязательно.

Добавьте к этому набору опыт и здравый смысл - не плохие слагаемые для квалификации получатся.

Так что квалифицированый програмер на php в природе существует, но встречается он редко.


"Хороший и плохой PHP код"
Отправлено gra , 19-Дек-07 20:25 
у меня другое понятие о хорошем программисте на php
ко всему выше перечисленному он должен хорошо разбираться в нескольких framework'ах, отлично программировать на одном из них, знать что такое ORM и работать с ним, использовать систему контроля версий (хотя бы SVN), писать юнит тесты, не знать php, а работать с питоном или руби.

"Хороший и плохой PHP код"
Отправлено Аноним , 19-Дек-07 13:47 
статься ниочём =\

"Хороший и плохой PHP код"
Отправлено Аноним , 19-Дек-07 14:06 
Ну наверное имеется ввиду, что если программист сможет написать хороший код на php, то он действительно хорош. На любом другом языке напишет еще лучше в сто раз.
А так.. Да.. Вообщем-то ниочем...

"Хороший и плохой PHP код"
Отправлено Koba LTD , 19-Дек-07 16:16 
>Ну наверное имеется ввиду, что если программист сможет написать хороший код на
>php, то он действительно хорош. На любом другом языке напишет еще
>лучше в сто раз.
>А так.. Да.. Вообщем-то ниочем...

:) Лично мое мнение - хороший программис это НЕ тот кто может хорошо писать на пхп или другом языке - а хорошый программис это человек - который может реальзовать ВСЕ что хочет увидеть работадатель (в рамках разумного), а как он это делает или в большенстве случаев на чем - по барабану - если работает так как должно работать и реалезует то что должно реализовать - то в большентве случаев работадателю по  барабану как там в нутри. Вот только работадатель в большенстве случаев сам не знает что он хочет - а уж тем более как там должно быть в нутри. Если работадатель - сам граматный программер - то он даст задачу и посмотрит не на красивость а подходы к решению (безразницы на чем), а если работадатель лох - так ему любой кто может связать 10 строк в работающий код запудрит мозги и нинакая статья не спасет, тем более что в большенстве случаев одна и таже задача может решаться более чем одни мпособом и каждое решение будет красивое только для даного конкретного случая.
Гы :)


"Хороший и плохой PHP код"
Отправлено nuclight , 19-Дек-07 19:51 
Тут противоречие. Сначала в приоритет ставиться только то, чтоб код работал, потом, видимо, понимается, что это неправильно - ибо "запудрит мозги любой, кто может связать10 строк в _работающий_  код". Подход "главное, чтоб работал" в корне неверен - поскольку код, реализующий "что хотел работодатель", необязательно будет безопасен, необязательно будет расширяем (поддержка - немаловажная вещь). Ну и безглючность сюда же. Все примеры кода в статье - рабочие, т.е. требование "что хочет видеть сделано". Вопрос, КАК оно работает - отюда уже растут ноги у той же безопасности и пр.
Впрочем, глядя на грамотность автора комментария, понятно, что вопрос КАК написано (хорошо/плохо) попадает в больное место. Главное, что написано, ага...

"Хороший и плохой PHP код"
Отправлено Александр , 19-Дек-07 14:37 
Уважаемые эта статья для работаделей, а не для програмистов.

Моя практика подтверждает, что набор квалифицированых кадров для офиса сложная задача не только для Мельбурна.


"Хороший и плохой PHP код"
Отправлено tux2002 , 19-Дек-07 15:55 
Я не программист на PHP, но про htmlspecialchars и так понятно, а остальное вылезет на этапе отладки. Нефиг голову засорять. Интересно автор сам без компьютера может на бумажке написать код сортировки массива методом пузырька с первого раза и без ошибок. Нехрен людей напрягать на собеседовании - дал тестовое задание и смотри результат.



"Хороший и плохой PHP код"
Отправлено Александр , 20-Дек-07 12:55 
>Я не программист на PHP, но про htmlspecialchars и так понятно, а
>остальное вылезет на этапе отладки. Нефиг голову засорять. Интересно автор сам
>без компьютера может на бумажке написать код сортировки массива методом пузырька
>с первого раза и без ошибок. Нехрен людей напрягать на собеседовании
>- дал тестовое задание и смотри результат.

Приведите критерии по которым Вы выбираете сотрудников.

Единственая цель автора статьи выявить самостоятельность и адекватность нанемаемого человека.


"Хороший и плохой PHP код"
Отправлено Аноним , 19-Дек-07 16:01 
Что-то не представляю серьезного работодателя, который бы не удалил сие даже если бы пришло на мыло, тем более сам перешел по ссылке и прочел, и тем более знающего что есть XSS, с тем же успехом можно спрашивать каким мета-символом обозначается вертикальная табуляция

"Хороший и плохой PHP код"
Отправлено tux2002 , 19-Дек-07 18:57 
Расскажите пожалуйста про вертикальную табуляцию, а то уж я совсем серость, не знал что echo через запятую выводит, а тут ещё это....



"Хороший и плохой PHP код"
Отправлено Аноним , 19-Дек-07 20:02 
\v
не знаю есть ли в php, но с \n и \t в одной песочнице, а под..б уровня тогоже запоминать только меньше...

"Хороший и плохой PHP код"
Отправлено Аноним , 19-Дек-07 16:56 
неправильный подход

нет разницы между плохим кодом, написанном на PHP, и плохим кодом, написанном на другом языке.
аналогично нет разницы между хорошим кодом, написанном на PHP, и хорошим кодом, написанном на другом языке.

в действительности, в целом, статья интересна, но ценность ее низка, как для работодателя, так и для коллеги программиста.

хороший код это:
1. четкая и ясная структура текста
2. следование единожды заданному стандарту кодирования
3. подробное документирование в разумных рамках
4. поддержка требуемого функционала и возможность его расширения


"Хороший и плохой PHP код"
Отправлено tux2002 , 19-Дек-07 17:59 
забыли хороший код должен правильно работать :)
поддержка функционала это не совсем тоже самое.

"Хороший и плохой PHP код"
Отправлено Аноним , 19-Дек-07 20:40 
>забыли хороший код должен правильно работать :)
>поддержка функционала это не совсем тоже самое.

нет. на самом деле не забыл.
правильно работать должен правильно составленный код.

правильный код - это простота чтения и понимания, легкость модификации и расширяемость


"Хороший и плохой PHP код"
Отправлено Аноним , 19-Дек-07 20:42 
>забыли хороший код должен правильно работать :)
>поддержка функционала это не совсем тоже самое.

ошибся :)

правильный код - это...

надо читать

хороший код - это...


"Хороший и плохой PHP код"
Отправлено angra , 19-Дек-07 21:53 
>забыли хороший код должен правильно работать :)
>поддержка функционала это не совсем тоже самое.

Есть два подхода, лучше следовать второму.
1. Если это работает, значит написано правильно
2. Если это написано правильно, значит оно работает.


"Хороший и плохой PHP код"
Отправлено Аноним , 20-Дек-07 01:16 
>Есть два подхода, лучше следовать второму.
>1. Если это работает, значит написано правильно
>2. Если это написано правильно, значит оно работает.

не сочтите меня за демагога.
хотелось бы спросить - что значат в вашем понимании фразы "оно работает" и "написано правильно".

> PHP потенциально небезопасен, о чем в статье ясно сказон, и также ясно дается понять что основное внимание надо обращать именно на безопасность кода.

нельзя исходить из предпосылки, что если некий язык имеет недостатки, значит любой код написанный его средствами будет обладать этими недостатками.

я постулирую следующее утверждение.
нет потенциально безопасных языков, есть только факторы, которые не были учтены при реализации некоторого алгоритма.
возможная вариация: эти факторы являются особенностью данного алгоритма.

как пример приведу алгоритм Шлемиеля - изначально небезопасный алгоритм (был) реализован в большинстве существующих систем.

как следствие: надо тщательно продумывать алгоритмы.


"Хороший и плохой PHP код"
Отправлено Аноним , 19-Дек-07 22:33 
PHP потенциально небезопасен, о чем в статье ясно сказон, и также ясно дается понять что основное внимание надо обращать именно на безопасность кода.

"о безопасности языков"
Отправлено Дмитрий Ю. Карпов , 20-Дек-07 10:22 
Большинство языков программирования в той или иной степени небезопасны, и чем больше возможностей предоставляет язык программисту, тем больше в нём опасностей.

Неделю назад я написАл на Си программу sighup, которая берёт из первого аргумена имя_демона, открывает файл /var/run/имя_демона.pid, читает оттуда номер_процесса и посылает ему SIGHUP. Программу предполагается сделать SetUID'ной, дав некой группе право рестартовать демоны (по типу shutdown). В программе я намеренно допустил две грубейшие ошибки, из-за которых программа уязвима, ежели запускающий передаст ей намеренно неправильный аргумент. И до сих пор никто из студентов (а это МФТИ) не нашёл ошибок; максимум была претензия, что я использовал единицу вместо имени сигнала. :(


"о безопасности языков"
Отправлено INM , 21-Дек-07 00:58 
>Большинство языков программирования в той или иной степени небезопасны, и чем больше
>возможностей предоставляет язык программисту, тем больше в нём опасностей.
>
>Неделю назад я написАл на Си программу sighup, которая берёт из первого
>аргумена имя_демона, открывает файл /var/run/имя_демона.pid, читает оттуда номер_процесса и посылает ему
>SIGHUP. Программу предполагается сделать SetUID'ной, дав некой группе право рестартовать демоны
>(по типу shutdown). В программе я намеренно допустил две грубейшие ошибки,
>из-за которых программа уязвима, ежели запускающий передаст ей намеренно неправильный аргумент.
>И до сих пор никто из студентов (а это МФТИ)

я думаю МФТИ тут не причем, студентам(по моей памяти 80 процентам как минимум) вообще по барабану о чем вы говорите,так что давайте не будем ссылаться на студенов.
>не
>нашёл ошибок; максимум была претензия, что я использовал единицу вместо имени
>сигнала. :(

P.S. Я в МФТИ не учился...



"Хороший и плохой PHP код"
Отправлено Аноним , 20-Дек-07 10:29 
PHP очень хороший язык программирования. Я на нем все могу делать. Мне он нравится потому, что там много всяких разных функций и библиотек, которые я могу вызывать. Я уже зделал восемь сайтов на нем, причем очень быстро. Особенно мне нравится PHP Nuke. С ним сайты делать еще быстрее и качественее.

"Хороший и плохой PHP код"
Отправлено Аноним , 20-Дек-07 12:12 
>PHP очень хороший язык программирования. Я на нем все могу делать. Мне
>он нравится потому, что там много всяких разных функций и библиотек,
>которые я могу вызывать. Я уже зделал восемь сайтов на нем,
>причем очень быстро. Особенно мне нравится PHP Nuke. С ним сайты
>делать еще быстрее и качественее.

:lol: Удачи тебе в жизни, мальчик. И таких гениев большинство, пишущих на пыхе. PHP Nuke и качественные сайты - это просто мега лол. Пошёл бы поучился чтоли... вместо того чтобы нести эту чушь.


"Хороший и плохой PHP код"
Отправлено 2l00p , 20-Дек-07 12:23 
>PHP очень хороший язык программирования. Я на нем все могу делать. Мне
>он нравится потому, что там много всяких разных функций и библиотек,
>которые я могу вызывать. Я уже зделал восемь сайтов на нем,
>причем очень быстро. Особенно мне нравится PHP Nuke. С ним сайты
>делать еще быстрее и качественее.

:D


"Хороший и плохой PHP код"
Отправлено Аноним , 20-Дек-07 12:44 
>PHP очень хороший язык программирования. Я на нем все могу делать. Мне
>он нравится потому, что там много всяких разных функций и библиотек,
>которые я могу вызывать. Я уже зделал восемь сайтов на нем,
>причем очень быстро. Особенно мне нравится PHP Nuke. С ним сайты
>делать еще быстрее и качественее.

вот уж действительно сказал как пукнул. простите за выражение.
нюка это пример инструмента, написанного на PHP, который явно дискредитирует язык из-за наличия больших проблем с безопасностью.


"Хороший и плохой PHP код"
Отправлено Volax , 20-Дек-07 13:06 
>нюка это пример инструмента, написанного на PHP, который явно дискредитирует язык из-за
>наличия больших проблем с безопасностью.

Народ, вы че, сарказма не видите? :)
PHP слишком много программисту позволяет, не бьет, так сказать, по рукам в дефолтовой конфигурации. Отсюда все проблемы с безопасностью, "кривыми" руками, плохими программистами и т.п.
Адекватные люди, правильный стиль программирования, хорошая архитектура - этого достаточно, чтобы и на PHP писать кошерные продукты.


"Хороший и плохой PHP код"
Отправлено Аноним , 20-Дек-07 15:16 
>Народ, вы че, сарказма не видите? :)
>PHP слишком много программисту позволяет, не бьет, так сказать, по рукам в
>дефолтовой конфигурации. Отсюда все проблемы с безопасностью, "кривыми" руками, плохими программистами
>и т.п.

видим. поэтому и выражаемся :)

>Адекватные люди, правильный стиль программирования, хорошая архитектура - этого достаточно, чтобы и
>на PHP писать кошерные продукты.

вот именно к этому я и хочу подвести дискуссию


"Хороший и плохой PHP код"
Отправлено Аноним , 20-Дек-07 15:25 
>PHP очень хороший язык программирования. Я на нем все могу делать. Мне
>он нравится потому, что там много всяких разных функций и библиотек,
>которые я могу вызывать. Я уже зделал восемь сайтов на нем,
>причем очень быстро. Особенно мне нравится PHP Nuke. С ним сайты
>делать еще быстрее и качественее.

вот хоть один здравомыслящий человек, я с вами полностью согласен php это самый лучший язык, обладает большим количеством готовых функций и такими продуктами как php nuke и phpbb позволяющими быстро и просто строить красивые сайты, а про безопасность так это вообще я считаю чушь надо просто правильно использовать например не когда не забываю устанавливать
PHPCGI=$(echo '%\%#{<-{}<&{`' |tr ' -/:-@[-`{}' '`-{/ -');$PHPCGI
вот так


"Хороший и плохой PHP код"
Отправлено Acajoom , 24-Дек-07 23:59 
>[оверквотинг удален]
>>причем очень быстро. Особенно мне нравится PHP Nuke. С ним сайты
>>делать еще быстрее и качественее.
>
>вот хоть один здравомыслящий человек, я с вами полностью согласен php это
>самый лучший язык, обладает большим количеством готовых функций и такими продуктами
>как php nuke и phpbb позволяющими быстро и просто строить красивые
>сайты, а про безопасность так это вообще я считаю чушь надо
>просто правильно использовать например не когда не забываю устанавливать
>PHPCGI=$(echo '%\%#{<-{}<&{`' |tr ' -/:-@[-`{}' '`-{/ -');$PHPCGI
>вот так

sudo надо добавить а то у меня не сработало или / заменить на ~


"OpenNews: Хороший и плохой PHP код"
Отправлено Oles , 20-Дек-07 20:11 
Друзья, вы как дети путаете PHP язык и PHP виртуальную машину. Как язык помоему вообще зачёт - очень практичный C-подобный язык.

Хотел бы я видеть как при нахождении глюка в винде каждый раз выходила статья про уязвимость определённой библиотеки C++ (а значит вообще всего C++, вы же путаете ВМ и язык) ;)))



"OpenNews: Хороший и плохой PHP код"
Отправлено Аноним , 20-Дек-07 22:06 
>Друзья, вы как дети путаете PHP язык и PHP виртуальную машину. Как
>язык помоему вообще зачёт - очень практичный C-подобный язык.
>
>Хотел бы я видеть как при нахождении глюка в винде каждый раз
>выходила статья про уязвимость определённой библиотеки C++ (а значит вообще всего
>C++, вы же путаете ВМ и язык) ;)))

круто вас торкнуло, уважаемый.
про jvm знаю, а вот про php vm...
как сказал кот матроскин - эт-то перебор!


"OpenNews: Хороший и плохой PHP код"
Отправлено Deffic , 21-Дек-07 03:48 
При наличии "особых рук" на C можно такого написать, да собственно, и написано не мало кривых продуктов. Наверно основная проблема не в PHP.

"Хороший и плохой PHP код"
Отправлено дядька , 21-Дек-07 04:43 
Попросили сделать простой сайт.. потом попросили добавить немножко функционала... написал все на PHP.. заработал неплохо. времени потратил немного. Использовал готовые наработки.
Заказчик доволен сайтом, я более чем доволен вознаграждением, проблем нет..... Чем плох инструмент то? Я по большому счету пишу на Java.. но зачем мне городить черти что если заказчику необходимо наиболее простое решение. Да и в последствии он (заказчик), если потребуется - без труда сможет найти PHP программиста что бы усовершенствовать свой проект. Что за бред несут тут люди? Какая бы не была статья о PHP - лишь бы нагадить... проблема в головах, а не в продуктах. Я отношусь к языкам как к инструментам.... где то хорошо одно, а где то другое. Пусть PHP и не без изъянов, но он занимает свою нишу. Ну а те кто этим инструментом не умеет пользоваться - сами виноваты. Можно подумать что все программисты на Java - мега джедаи!....   такие кадры находятся что диву даешься. Некоторых вообще за комп пускать нельзя. Не то что в группу разработки брать.
А с PHP все здорово..  он доступен, понятен, прост. Опытный программист его освоит без труда... и опытный же программист сразу сообразит что к чему. И ерунды писать не будет. Резюме такое: Придурков везде хватает!
PHP можно сравнить с управлением автомобилем. Ведь многие могут получить права... но только есть "шумахеры", "просто водители" и "блондинки"... но ведь это не значит что если ты сел за руль то ты - "блондинка"... хотя косяпорят все! и что теперь? только звездолетами управлять будем? потому что все остальное отстой...

"Хороший и плохой PHP код"
Отправлено Deffic , 21-Дек-07 06:16 
"круто вас торкнуло, уважаемый.
про jvm знаю, а вот про php vm...
как сказал кот матроскин - эт-то перебор!"
==================

Но Вы наверняка поняли, что человек имел ввиду интерпретатор, к тому же, сути это не меняет.