Какой скрипт на языке PHP можно назвать "бредом"?

Popoff

popoff.donetsk.ua
Какой скрипт на языке PHP можно назвать "бредом"?

Тут возник вопрос о том, является ли приведенный пример скрипта бредом. Одни говорили, что это бред, я же позволил себе соменваться в бредовости скрипта, видя в поведении этого скрипта логичность. Дабы не возникало недоразумений по поводу того, какую программу относить к бредовой, предлагаю формализовать процедуру определения бредовости скрипта на PHP и ввести определение термина "бред".

Черновой вариант определения:

БРЕД - это скрипт на PHP, который удовлетворяет хотя бы одному любому условию:

1. скрипт не выполняется корректно (выдает какую бы то ни было ошибку, предупреждение или notice) в последней актуальной версии интерпретатора PHP

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

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

4. можно придумать пример исходных данных, на котором скрипт не отработает корректно (выдаст какую бы то ни было ошибку, предупреждение или notice) в последней актуальной версии интерпретатора PHP

5. в скрипте использованы недокументированные возможности интерпретатора PHP

6. Стиль написания скрипта гипотетически может привести к появлению ошибок (не ожидаемый результат, не ожидаемое дополнительное действие или некорректная отработка) при его использовании в составе других скриптов; использование такого скрипта требует дополнительной концентрации внимания на том, как этот скрипт следует использовать, что бы ошибки не возникали; можно придумать другой скрипт, функционально идентичный исследуемому, при использовании которого потребуется меньшая концентрация внимания на деталях его использования.

Справедливости ради следует указать на возможные сложности при определении бредовости скрипта:

1. вроде, не видно

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

5. Можно легко показать, что в документации что-то написано. Показать же, что в ней что-то НЕ написано не так-то просто: искомое может быть написано в другом месте, в которое мы не посмотрели. В таком случае не понятно, относить ли к бреду те скрипты, в которых использованы возможности, эти возможности в документации описаны, но найти это описание не удается?

6. Если привести пример скрипта, который функционально идентичен исследуемому и при использовании которого требуется меньшая концентрация внимания, то бредовость исследуемого скрипта доказана. Однако, как и в предыдущих двух случаях, этот скрипт может оказаться не столь тривиальным, и тогда не понятно, относить ли к бредовым те скрипты, для которых существуют более "хорошие" функционально идентичные варианты, но ни один вариант не удается придумать. Кроме того, не понятно, как определить, что в одном случае требуется меньшая "концентрация внимания", чем в другом.
 

Popoff

popoff.donetsk.ua
Дмитрий Попов
Это сразу в "юморе" и есть :) наверное :)

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

-~{}~ 17.04.05 19:48:

А еще топик можно считать бредовым, если в нем нет ни одного бредового сообщения, но, расположив эти сообщения рядом мы получаем бред (это как устройство памяти - триггер - система в целом может обладать свойством, которым не обладает ни один из элементов системы).
 

Popoff

popoff.donetsk.ua
Итак, бред бывает двух типов:
1) классический
2) какой-то другой

Какой другой? Как их различить?
 

SiMM

Новичок
[offtopic]
> Одни говорили, что это бред, я же позволил себе соменваться в бредовости скрипта, видя в поведении этого скрипта логичность.
Логичность есть - но стоит ли оно того?

> В таком случае не понятно, относить ли к бреду те скрипты, в которых использованы возможности, эти возможности в документации описаны, но найти это описание не удается?
Их просто не стоит использовать. ИМХО.
[/offtopic]

-~{}~ 17.04.05 21:18:

> Если хорошо формализовать этот вопрос, то можно будет написать программу для автоматического определения бредовости, и рядом с каждым топиком показывать значек: "бред" или "не бред" :)
Наверно будет правильнее оценивать коэффициент бредовости, а не говорить однозначно, бред это или не бред ;)
 

Popoff

popoff.donetsk.ua
>Логичность есть - но стоит ли оно того?

Какая разница? %)

Согласно приведенному мной определению обсуждаемый там скрипт подозревается в бредовости по статье 5 "использование недокументированных возможностей" :)
 

sakon

П..и.н..ок
Ну различиить их просто:
бред классический - бред и ничего кроме бреда - давольно редко встречается.
Бред неклассический можно разделить на несколько видов бреда:
- бред классического типа (не путать с классическим) - вариан бреда с проблесками разума и последовательного построения структуры - довольно опасен, так как в нем легко запутаться собеседнику и воспринять бред за небред, хотя возможно при этом сам будеш понимать, что этот небред - бред.
- бред маниакального типа - за примером и описанием ходить далеко ненадо - http://phpclub.ru/talk/showthread.php?s=&threadid=65749&rand=17
- бред идиотский - наиболее распространенный - сочитание бреда и идиотизма - опредилияется легко. Типичный пример бреда идиотского - влезть в чужой разговор, ничего не зная о теме разговора, при этом давая идиотские советы.
Так-же существует множество других, более мелких, вариантов бреда. Существует прересикающийся и накладывающийся бред.

:)
 

SelenIT

IT-лунатик :)
sakon
к какой категории относится предложенная классификация? ;)

А если серьезно :), я бы предложил дополнить/изменить критерии бредовости скрипта:
7) скрипт выполняет заведомо не ту задачу, которая поставлена автором вопроса;
8) скрипт вопиюще неоптимален (например, запросы к БД в цикле там, где можно обойтись одним запросом, неоправданный самописный цикл вместо встроенной функции и т.п.);
9) скрипт работоспособен только при определенных настройках PHP, в т.ч. отличных от рекомендуемых (register_globals, magick_quotes и т.п.)

Что же касается недокументированных возможностей - то это, ИМХО, не сколько бред, сколько курьез. По-моему, можно вспомнить задачи, в которых использование "побочных эффектов" оправданно и эффективно. Но чаще бывает, что придумать такую задачу сложнее, чем найти подобное "решение" - как в цитируемом топике :)
 

Popoff

popoff.donetsk.ua
Автор оригинала: SelenIT
к какой категории относится предложенная классификация? ;)
классификация касается скриптов на языке PHP и не применима для определения бредовости других явлений и объектов :)

-~{}~ 18.04.05 07:56:

в том числе с ее помощью нельзя определить бредовость самой себя :)
 

messerschmitt

Новичок
Мать моя женщина, и не лениво же вам было столько бредятины написать. =)
 

SelenIT

IT-лунатик :)
Popoff

Вопрос был адресован автору классификации бреда как универсального явления (предыдущий пост) :)
 

Popoff

popoff.donetsk.ua
Автор оригинала: SiMM
Наверно будет правильнее оценивать коэффициент бредовости, а не говорить однозначно, бред это или не бред ;)
может, это и правильно, но люди привыкли оперировать категориями: либо бред либо не бред. среднего не дано. и мы в цитируемом топики исходили из того же: вы говорили: "бред", я говорил: "НЕ бред", то есть использовал булевские операторы. найти коэффициент бредовости - это пройти лишь половину пути; внутри реализации может использоваться этот коэффициент, он может показываться как дополнительное данное, но основным результатом все же должен быть четкий ответ: да или нет.

[offtop]если применить метод коэффициентов для определения коэффициента блядства, то можно обнаружить, что полублядь - это когда с каждым по два раза[/offtop] :)
 

Денч

Новичок
[off]
полублядь - это когда с каждым по два раза
Че за ересь? А если с каждым по четыре раза - это значит полная б..дь? А по восемь?
И вообще, мое мнение - этому топику место не в "ЮМОРЕ", и даже не в "КОРЗИНЕ", а в новом разделе - "БРЕД", которого, правда, не существует.
Ну или еще как нить назвать, например - "ПРОГРАММЕР НАКУРИЛСЯ":)
[/off]
 

Popoff

popoff.donetsk.ua
[off]
Автор оригинала: Денч
[off]
А если с каждым по четыре раза - это значит полная б..дь? А по восемь?
[/off]
ну это очень просто. этот коэффициент можно определить как общее число новых партнеров поделить на общее количество раз. таким образом значение коэффициента 0 - это когда ни одного нового партнера (например, потому что есть только один или вообще никого нет), значение 1 - это когда каждый раз - с новым партнером. Таким образом, если с каждым по четыре раза, то этот коэффициент равен 0.25 :) С каждым по 8 => 0.125 - уже практически не б..дь :)
[/off]

-~{}~ 18.04.05 12:33:

Это по поводу коэффициента бредовости: сам по себе коэффициент еще мало о чем говорит :)
 
Сверху