[room] новички

Aleksey Korotkov =?iso-8859-1?q?ziga_=CE=C1_udm=2Enet?=
Чт Окт 26 01:07:30 MSD 2006


On Wed, 25 Oct 2006 20:57:36 +0400
Денис Смирнов wrote:

> Твое утверждение имеет одно отличие от моего -- оно не основано
> насравнении. 

Не совсем так. Понятие аналогия знакомо? Так вот, можно провести такую
параллель: написание кода PHP "традиционным способом" vs генерация
"меташтуками" <-> создание html ручками vs визуальным редактором.
Поскольку, на мой взгляд, процессы сходны, а "чистота кода",
генерируемого визуальными редакторами, хорошо известна, я счёл (на
мой взгляд, обоснованно), что есть основания _сомневаться_ в чистоте
кода, генерируемого "меташтуками".  

> Ещё интереснее то, что это
> позволяет мне обходиться практически безкомментариев -- код
> прозрачнее становится.

Хотел сам спросить -- ты опередил :) Увеличение прозрачности кода
отсутствием комментариев -- что-то новенькое :)

> Простой вопрос -- как ты проверяешь входные данные? На какие
> именноусловия ты их проверяешь? Я вот последнее время стараюсь даже
> регекспамиобрабатывать все входящие данные. 

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

> Плюс констрейнты на
> диапазоны. Для_всех_ данных. 

А так, в принципе, с последним согласен, разумно. Здесь консенсус :) 

> Ещё раз объясняю. Когда человек пользуется метапрограммированием, он
> несмотрит глазами генерат. Его компьютер исполняет. Для него есть: -
> генератор; - данные для генератора; Это и есть код. 

Это не код. Код -- результат работы генератора.

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

По-прежнему сомневаюсь.

> Я уже сказал -- если выбирается вариант хоть на один байт длиннее --
> этотребует обоснования. 

Извини, но это при современных объёмах дисковой памяти попахивает
маразмом ;). И противоречит твоим же словам. И вообще всему -- здравому
смыслу и так тобой любимой "общепринятой практике". Потому что программы
тогда надо писать без комментариев, без отступов, в одну строку и
т.д. :) Будет сэкономлена куча байтов. Ура, товарищи!

Я просил _внятных и разумных обоснований_, почему echo, а не print. Пока
их не было, и закрадываются сильные подозрения, что не будет. Поскольку
их нет :)

Ещё раз подчеркну: не мой выбор echo || print, а твой echo && ! print
требует обоснования.

> Не. Все просто. echo "общепринятый" вариант и на целый 1 байт
> короче.Поэтому обосновывать выбор не надо. 

См. выше. Надо, надо и ещё раз надо. Только без анекдотических
аргументов. OK? [За такие аргументы надо вообще наказывать, заставляя
в течение месяца программировать на ассемблере для Windows 1.0 :)]

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

О CLI помним? :)

> Все очень просто. Если код большой, но написаный "метаигрушкой",
> тодостаточно предъявить простой алгоритм того модуля который генерит
> кодпроверки аргументов, и его входные данные. Объем кода для проверки
> в твоемслучае будет больше как минимум на порядок для сложного
> проекта.

Всё не очень просто. Тебе будет нужно предъявить доказательство
правильности этого "простого алгоритма". Это задача никак не простая
(исключая тривиальные случаи). Проверка на одном конкретном наборе
входных данных -- не катит (на 10 наборах -- тоже). [и почему только
"того модуля"?]

> Всегда можно придумать что-то лучше. Но -- не придумали лучше
> посовокупности характеристик. Потому незаменимы, что заменить нечем.

Так это никак не коррелирует с высоко/низкоуровневостью этих
"высокоуровневых" языков.

-- 
С уважением,
А.В.Коротков,

mailto:ziga на uni.udm.ru



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