Вы находитесь на страницах старой версии сайта.
Переходите на новую версию Interface.Ru

СТАТЬЯ
11.12.02


Предыдущая часть

Это сладкое слово "XML"

© Андрей Колесов
Статья была опубликована на сайте www. pcweek.ru

Что в сундучке лежит?

Но увлечение XML-форматом — это еще цветочки. В опубликованном пакете приведены также исходные тексты программных проектов, реализованных на VB 6.0. Весь этот набор должен, по замыслу авторов, демонстрировать не только возможности некоторой новой технологии, но и показывать, как ее могут применять независимые программисты.

В течение последних десяти лет я пишу статьи о программировании на Бейсике (www.visual.2000.ru/develop/vb).

И помимо обсуждения чисто технических приемов мне приходится довольно регулярно затрагивать вопросы “стиля программирования” и на примере присылаемых читателями вопросов показывать, что речь идет не о моде или абстрактных правилах хорошего тона, а о насущных проблемах повышения производительности работы программиста, увеличения надежности программ и снижения стоимости их сопровождения.

Правила же “хорошего стиля” на уровне кодирования отдельных программных процедур довольно просты: избегайте неявного преобразования типов данных, применяйте при прочих равных условиях раннее связывание компонентов, пишите комментарии, старайтесь, чтобы имена переменных отражали смысл их содержимого, используйте простые логические конструкции...

Так вот, обсуждаемый VB-проект — это просто великолепное учебное пособие на тему “как нельзя писать программный код”. Ну, стиль-то ладно, дело хозяйское. Какие уж там комментарии и оптимизация логических конструкций, если автор формирует переменные и массивы, которые вообще никак не используются в программе, применяет многомерные массивы для хранения заведомо линейных списков и делает много других удивительных вещей.

Возможно, магическое “используется XML-формат” должно произвести соответствующее впечатление на пользователей, но вот только почему-то тривиальная процедура ввода XML-файла в данном случае заняла не 10, а целых 70 строк кода! Да и как может быть иначе, если число тегов в XML-файле (для резервирования массива нужной длины), которое можно определить простым обращением к свойству Lengh, в этой программе выполняется таким фантастическим способом.

On Error Resume Next

Dim j, z j = -1: z = “~”

Do While (z <> “”)

j = j + 1

z = nodelist(j).nodename

If Err.Number > 0 Then Exit Do

Loop

ReDim Names(0 To j-1)

А чего стоит такой шедевр логической конструкции: index = 1

While (index > 0)

‘ тут что-то делаем, но index не меняется

index = 0

Wend которая совершенно эквивалентна строке

‘ тут что-то делаем

На этом я прерву разбор данного полета, так как в программе в 350 строк такие перлы встречаются на каждом шагу. Отмечу только, что для установки и регистрации DLL размером 55 Кб пользователю нужно скачать с Web-cайта инсталляционный модуль объемом 3 Мб.

Продолжение статьи

За дополнительной информацией обращайтесь в компанию Interface Ltd.

Обсудить на форуме Microsoft

Рекомендовать страницу

INTERFACE Ltd.
Телефон/Факс: +7 (495) 925-0049
Отправить E-Mail
http://www.interface.ru
Rambler's Top100
Ваши замечания и предложения отправляйте редактору
По техническим вопросам обращайтесь к вебмастеру
Дата публикации: 11.12.02