[room] новички

Денис Смирнов =?iso-8859-1?q?mithraen_=CE=C1_altlinux=2Eru?=
Ср Окт 25 07:29:49 MSD 2006


On Wed, Oct 25, 2006 at 03:44:44AM +0500, Aleksey Korotkov wrote:

>> Ну ладно, скажу ещё -- ты потратил целый байт дискового пространства
>> безна то оснований. И говоришь что твой код лучше
>> автосгенерированого :)
AK> А ну да, ну да... Можешь сэкономить ещё 1 бит? ;)

Кажется мы спорили о том что руками написаный код не будет сильно лучше
автогенерируемого? :) Ты сам прекрасно доказал почему -- все равно только
полный псих будет писать идеально чистый код на языках, предназначеных не
для enterprise quality а для "побыстрячку налабать на коленке".

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

А вот чиже может быть.

> >>> На 100% вообще ни в чем нельзя быть увереным.AK> Мой код будет
> >>> работать _всегда_, твой -- нет.
>> Мой последний результат, который я бы и поместил в результирующий код
>> --работал бы всегда. Даже там где PHP нет :-P
AK> html что-ль?

В точку. Хотя назвать это корректным HTML нельзя, да и не все что выводит
PHP это HTML, у меня он иногда и JavaScript выводит.

> >>> время.AK> Приведённый мной ранее пример (с hello, world) полностью
> >>> подходит подAK> это определение ;)
>> Мой вариант с "Hello, World!" ещё лучше :)
AK> Лучше он или хуже -- не в этом дело. Ты тут двойками кидался, а
AK> сейчас, фактически, признал, что мой пример -- пример чистого кода.
AK> Вот так :) 

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

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

Один ответ в стиле "потому что так тоже можно" будет означать что разговор
можно заканчивать.

Сходу я сейчас могу придумать только одну причину применять в этой
конструкции print -- если автор и вся команда перловики. И им просто
непривычно использоваь разный оператор для одной и той же команы. Сам
после PHP начинал в перловке писать echo вместо print.

В целом же
<?
print "Hello, World!"
?>

По сравнению с просто:
Hellow, World!

Это называется грязный код.

>> Не, не остается. Пишут же крупные проекты на PHP без
>> метапрограммирования.Но мне не известно ни одного такого крупного
>> проекта, который бы нестрадал проблемами с security. 
AK> То, что тебе не известно ни одного -- ни о чём не говорит. Во-первых,
AK> они, может быть, и есть. Во-вторых, если таковых и нет, это не значит,
AK> что нельзя написать без твоей любимой игрушки :) Кстати, не факт, что
AK> твой мета- не даст проблем с security.

Мой -- может и даст. Я уже говорил что я редкостный ламер.

Написать можно. Можно и яндекс целиком на ассемблере написать. Даже
работать быстрее будет. Но трудоемкость этого процесса будет на порядки
больше.

Вы попробуйте для проекта уровня phpbb какого хотя бы просто реализовать
полную проверку всех аргументов, а также правильный квотинг при обращении
к SQL. То бишь то, что срезает большинство уязвимостей. Причем попробуйте
это сделать так, чтобы вы могли _доказать_ что покрыли тестами всю
систему. И сразу станет все понятно :)

>>>> Дык нет языков высокого уровня для Web.AK> Так с другими языками
>>>> (для своей области) ещё хуже в плане реальнойAK>
>>>> высокоуровневости. Потому я и считаю, что пример с PHP -- плох.
>> SQL.
AK> Хм. О нём как-то не думал (в голове крутились всякие C/C++ и проч. --
AK> те явно хуже).

Так то ассемблеры на стероидах. Они не хуже, они в этой области попросту
незаменимы.

Да, только не обижайтесь. Но на моей памяти метапрограммированием в
сложных задачах не пользуют только те, кто ещё не пробовал этих устриц. Те
кто пробовал применяют поголовно. Реально время экономит.

-- 
С уважением, Денис

http://freesource.info
----------------------------------------------------------------------------
Если были бы известны правила для NMU, я бы сделал NMU.
		-- at in devel@
		



Подробная информация о списке рассылки smoke-room