[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