Второй взгляд на V8: эргономика среды

"Первый взгляд" закончился на стартовом окне. На этот раз я продвинулся значительно дальше, создал конфигурацию, и даже наваял в ней обработку Hello_World. И попутно попробовал выявить сильные и слабые стороны визуального интерфейса, который среда предоставляет разработчику.

Автор статьи: WildHare

Источник

"Первый взгляд" закончился на стартовом окне. На этот раз я продвинулся значительно дальше, создал конфигурацию, и даже наваял в ней обработку Hello_World. И попутно попробовал выявить сильные и слабые стороны визуального интерфейса, который среда предоставляет разработчику.

И тех, и других оказалось предостаточно. ;-)

Вот как выглядит рабочее пространство конфигуратора V8:

Первая проблема, которую я обнаружил – на экране банально не хватает места (разрешение, между прочим, 1152х864). Но у среды имеется по крайней мере три служебных окна, которые всё время нужно держать открытыми и развёрнутыми: это дерево метаданных (конфигурация), синтаксис-помощник (контекстная подсказка) и палитра свойств выбранного обЪекта.

Казалось бы, среда поддерживает нормальный докинг окон.. но это не помогает. Проблема в том, что указанные три окна нельзя скомпоновать "в один столбик": дерево метаданных и палитра свойств должны быть видны одновременно (очень неудобно настраивать свойства обЪекта метаданных, не видя других обЪектов в дереве), а синтаксис-помощник нельзя ужать по высоте до половины экрана (потому что его окно, в свою очередь, разбито на два – дерево справочных статей и собственно статья).

Я пробовал располагать окна и так, и сяк, но удобного для себя положения так пока и не нашёл. Окно редактора форм, таблиц и кода получается слишком узким – а это недопустимо, если мы рисуем большую форму или код имеет много уровней вложенности (плюс длинные идентификаторы).

Не сидит костюмчик, короче говоря. Отказаться же от синтаксис-помощника нереально, потому как механизм автозавершения кода в платформе не предусмотрен.

Для сравнения давайте посмотрим на эталон эргономичности, рабочее пространство VisualStudio.NET:

Разница, прямо скажем, видна. Размер экрана тот же, и принцип построения среды вроде тот же самый (MDI-приложение с энным количеством служебных окон, поддерживающих докинг), но места на экране вполне хватает, и работать не в пример удобнее. Почему?

Во-первых, VisualStudio поддерживает автозавершение кода. Никаких синтаксис-помощников. Есть окошко "Dynamic Help", но оно предназначено для других вещей: туда динамически загружается список справочных статей, связанных именно с тем обЪектом, который в данный момент находится в фокусе. На картинке не видно, но курсор стоит на ключевом слове Application, и в Dynamic Help показан список статей, так или иначе связанных с этим обЪектом. И при написании кода в VS вполне можно обойтись вообще без лишних окон помощи: механизм автозавершения кода именно для этого и предназначен.

И если кликнуть по ссылке на одну из статей, то статья загрузится не в крохотное служебное окошко (как это делает СП V8), а в новое полноценное окно приложения, рядом с уже открытыми окнами дизайна формы и кода. Кстати, панель закладок между пользовательскими окнами в VS расположена свеху, а не снизу (как у V8), что гораздо удобнее – ведь меню и тулбары тоже обычно располагаются сверху, и не надо постоянно возить мышью вверх-вниз.

Такого рода "мелочей" в VS множество, и все они в совокупности дают замечательный эффект погружения пользователя в среду разработки. Со средой V8 погружения не получается, и пользователю приходится привыкать к разного рода мелким (и не очень) шероховатостям и неудобствам.

Что тут можно было бы сделать? К сожалению, до вылизанной эргономики VS программистам "1С" не дотянуть и за пять жизней, всё-таки разница весовых категорий 1С и M$ слишком уж велика.

Единственное, что реально можно сделать со средой разработки V8 (не считая автозавершения кода, но этого в "1С" никогда сделать не смогут, поскольку нужно будет делать также и семантический анализатор кода в дополнение к синтаксическому), так это перестроить механизм синтаксис-помощника. В текущем виде он выглядит явным анахронизмом.

Думаете, комфортность среды разработки для программиста не играет особой роли, да? Если бы. При работе с большой и сложной средой комфорт неким волшебным образом превращается в эффективность работы. Чем меньше времени мы тратим на всякие сервисные действия, тем больше времени у нас остаётся на собственно процесс разработки. Секунды, затрачиваемые на избыточные переключения, скроллинг, двигание окон и т.д., и т.п., для масштабного проекта в конечном итоге складываются в дни и недели.

Что ещё мне сильно не понравилось в среде V8? Не понравились страхолюдные иконки. Видно, в "1С" наняли настоящего художника, отлично умеющего рисовать, но не имеющего понятия о компьютерной эргономике. Иконки не должны быть сложными и насыщенными мелкими деталями. Иконки никто и никогда не будет рассматривать. Программист не должен тратить две секунды на то, чтобы отличить одну иконку от другой, ему нужно находить их мгновенно, не сосредотачиваясь.

Именно поэтому иконки обычно делают резкими, контрастными, а главное, простыми, без лишних деталей. Тогда иконки хорошо запоминаются и находятся. По сравнению с иконками V7, иконки V8 выполнены значительно хуже, как это ни грустно. Среди них слишком много похожих, все они какие-то размытые и излишне детальные. Такое впечатление, что рисовали их не попиксельно (как это следует по уму), а в виде больших полноцветных картинок, которые затем ужимались до нужного размера.

Это всё были минусы. Плюсов у среды разработки V8, разумеется, тоже есть, и есть немало. Во всяком случае, по сравнению с конфигуратором V7. ;-)

К числу видимых невооружённым взглядом я бы отнёс следующие:

  • Встроенный (наконец-то!) внутрь конфигуратора отладчик
  • "Сворачивание" процедур/функций и длинных комментариев в одну строку
  • HTML-формат описания обЪектов метаданных (больше не нужно изобретать собственные системы показа человеческой документации)
  • Редактирование реквизитов обЪекта метаданных в отдельном полноценном окне
  • Довольно удобная панель свойств (чем-то похожа на PropertyGrid из VS), но с тараканами: названия многих свойств не влезают в грид и обрезаются в самых неожиданных местах, что не есть красиво
  • Мощная система стилей, позволяющая делать внешний вид форм таким, как нам только присписчит
Это то, что видно сразу. Если же посмотреть вооружённым взглядом (т.е. начать делать какую-то реальную задачу), то можно будет найти ещё вагон и маленькую тележку всяких вкусностней (и гадостей тоже ;-).

Но об этом – в следующий раз.

Комментарии

1
  • Хранитель_врат
    Как было это фуфло,так и осталось.И за 10 жизней господам из 1С не сделать нормальный продукт,а это все только для кормежки франшизиков.Да и где они нужны со своей средой и языком Нуржиком,кроме как в гребаной России!