Странные люди используют XML
Oct. 23rd, 2007 10:37 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Читаю сейчас конфигурационный файл утилиты rutilt (конфигуришки для WiFi карточек rt73 под Linux).
И вижу там примерно следующее
Не совсем понимаю, зачем ради такого XML городить. Я бы написал так
В данный вариант добавлена информация о том, доступен ли в данной сети SSID для сканирования, которой в оригинале не было. А мне для zero-click solution её надо - должна же программама догадатсья, стоит ли пробовать сконнектиться с этой сетью если скан не показывает её ssid. Ну и приоритеты сетей - в каком порядке пробовать коннектиться
Вообще, я неоднократно сталкивался с ситуацией, когда люди, пытающиеся разработать какую-то DTD совершенно не умеют пользоваться выразительным богатством XML. Наиболее частая проблема - та же, что у автора rutilt - пихают всю информацию в содержимое элементов, не задумываясь о том, что бывают ещё и атрибуты. Попадалось и обратное - что человек в упор не понимал концепции PCDATA и боялся писать текст между тэгами. Всё пихал в атрибуты.
Я, конечно, не буду утверждать что я такой весь из себя большой спец по XML. Я схем-то за свою жизнь сдизайнил не более десятка (правда, были среди них весьма развесистые).
Ну а за использование перечислимых числовых значений в текстовом конфиге, особенно когда в интерфейсе пользователя всё равно исполььзуются для этих сущностей строковые названия, программиста надо пороть.
И вижу там примерно следующее
<Profile Name="Wagners_home"> <SSID>Wagners_home</SSID> <Mode>2</Mode> <Channel>1</Channel> <Encryption> <Type>1</Type> <Key>много шестнацатиричных цифр</Key> <Key></Key> <Key></Key> <Key></Key> <AuthenticationType>0</AuthenticationType> <DefaultKey>0</DefaultKey> </Encryption> <IPSettings> <How>1</How> </IPSettings> </Profile> d<Profile Name="Cryptocom"> <SSID>спрятано</SSID> <Mode>2</Mode> <Channel>11</Channel> <Encryption> <Type>3</Type> <Key>много шестнадцатиричных цифр</Key> <Key></Key> <Key></Key> <Key></Key> <AuthenticationType>2</AuthenticationType> <DefaultKey>0</DefaultKey> </Encryption> <IPSettings> <How>1</How> </IPSettings> </Profile>
Не совсем понимаю, зачем ради такого XML городить. Я бы написал так
<Profile priority="0" Name="Wagners_home"> <SSID visibility="visible">Wagners_home</SSID> <card-settings mode="managed" channel="1" /> <Encryption type="wep" authentication-type="open"> <key number="0" default="yes" encoding="hex">много шестнадцатиричнх цифр</key> </Encryption> <IPSettings type="dhcp" /> </Profile> <Profile priority="1" Name="Cryptocom"> <SSID visibility="hidden">спрятано</SSID> <card-settings mode="manged" channel="11"/> <Encryption type="TKIP" authentication-type="WPAPSK"> <key number="0" default="yes" encoding="ascii">много букв</key> </Encryption> <IPSettings type="dhcp" /> </Profile>
В данный вариант добавлена информация о том, доступен ли в данной сети SSID для сканирования, которой в оригинале не было. А мне для zero-click solution её надо - должна же программама догадатсья, стоит ли пробовать сконнектиться с этой сетью если скан не показывает её ssid. Ну и приоритеты сетей - в каком порядке пробовать коннектиться
Вообще, я неоднократно сталкивался с ситуацией, когда люди, пытающиеся разработать какую-то DTD совершенно не умеют пользоваться выразительным богатством XML. Наиболее частая проблема - та же, что у автора rutilt - пихают всю информацию в содержимое элементов, не задумываясь о том, что бывают ещё и атрибуты. Попадалось и обратное - что человек в упор не понимал концепции PCDATA и боялся писать текст между тэгами. Всё пихал в атрибуты.
Я, конечно, не буду утверждать что я такой весь из себя большой спец по XML. Я схем-то за свою жизнь сдизайнил не более десятка (правда, были среди них весьма развесистые).
Ну а за использование перечислимых числовых значений в текстовом конфиге, особенно когда в интерфейсе пользователя всё равно исполььзуются для этих сущностей строковые названия, программиста надо пороть.
no subject
Date: 2007-10-24 11:44 am (UTC)А что касается данной дискуссии, то она даже по сравнению с ньюсами - шаг назад. Не говоря уже о нормальной системе. Сравнивать хреновое с еще более хреновым, может, и приятно. Но не полезно.
no subject
Date: 2007-10-24 12:04 pm (UTC)Я к тому, что не видел ни одного пользователя, которому было бы непонятно дерево в проводнике.
Кстати, тупой я не может понять, что такое "нормальная система" в реальном мире. Про ньюсы ничего сказать не могу, поскольку не пользовался, но вот почему массово не используют ньюсы, если они так хороши?
no subject
Date: 2007-10-24 01:23 pm (UTC)А ньюсы массово не используют по историческим причинам. Потом, офисному планктону эффективность при чтении форумов не требуется. Они не между делом это делают, а в качестве имитации бурной деятельности. Оптимизировать это для них все равно, что оптимизировать цикл ожидания.
no subject
Date: 2007-10-24 01:58 pm (UTC)>Он, кстати, слова "директория" уже лет десять как знать не должен
Так я же не о словах, а о понятиях...
>Оптимизировать это для них все равно, что оптимизировать цикл ожидания.
Не факт...
no subject
Date: 2007-10-24 03:44 pm (UTC)Вообще говоря, не любое. Есть примеров, как более адекватное решаемой задаче вполне понятно. От гугл-десктопа, по мере сил реализующего в общем виде принцип Раскина "лучшее имя для документа - это его содержимое" до всяких медиа-плееров, показывающих понятные им файлы как музыкальные композиции и видео-ролики по метаинформации.
Я, в общем, тоже. Если подумать.
no subject
Date: 2007-10-25 04:43 am (UTC)файловмузыкальных композиций, которые сгруппированы по группам, а потом по альбомам. Если это нарисовать в виде дерева - ну неужели не поймут?А что касается Раскина... Меня всегда интересовал следующий вопрос: если лучшее имя документа - его содержимое, то почему ещё за 200 лет до появления компов давали имя (название) почти любой книге и почти любому указу? Я допускаю, что где-то в специализированных системах принцип Раскина будет удобен, но он же его пропагандировал "для общего пользования".
no subject
Date: 2007-10-25 08:30 am (UTC)Сходу - нет. И правильно сделают, кстати - даже программисту, который будет этим пользоваться, интерфейс в виде дерева тут неудобен. Он удобен программисту, который будет это писать.
Потому что запомнить все содержание невозможно. Указу, кстати, не имя давали. И сейчас не имя дают. Там аннотация. У технических статей, кстати, тоже. А художественной книге название дают с художественной и рекламной целями.