Предупреждение: эта тема содержит зашкаливающее количество ненависти.
Чувствительных лиц просим не читать.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Раньше в MSDN было хорошее дерево и был раздел «Win32 & COM Development». Это был самый хороший и светлый раздел в MSDN Library (с).
А теперь я захожу и что вижу?
Кажется, его нет!
Это же катострофа! Это же значит бесполезность MSDN для нормальных (дотнетчики и винсешники, на вашем языке это называется «классические» или скорее «неуправляемые программисты» (наверное так, да, раз пишут неуправляемый код?)) программистов.
Но подождите!
Быть может с введением нового дебилистического дерева (о нём чуть позже) нужный раздел просто стало не видно?
Ищем по фразе SAFEARRAY.
И что видим? Среди дурацких статей в стиле «Как называется палец между указательным и безымянным» есть только одна статья, имя которой — просто SAFEARRAY. Кликаем.
— И что?
— Это статья из блока о Windows Mobile!
И есть вторая статья с цифрами — это что-то новенькое из блока «Открытые спецификации».
Так вот, это не документация. Это всё что угодно, но не настоящая удобная вкусная документация. Это еле-как доделанная до публикации в вебе спецификация, спецификация во внутреннем MS-формате, оформлению которой позавидовали бы, пожалуй, только люди, рисующие надписи на заборах.
Потому что ни в одной вкусной документации не напишут так:
If any of the consistency checks fail, the protocol implementation SHOULD<12>
Слова SHOULD, MUST, MUST NOT, написанные непременно в верхнем регистре, — это стиль спецификации, стиль RFC, если хотите, но это не стиль вкусной MSDN-документации. Конструкция из глагола и непонятной числовой ссылки — это не стиль вкусной MSDN-документации.
А есть что-то ещё?
Нет. Всё остальное — это либо статьи в упомянутом выше стиле, либо дотнет-специфичные статьи, потому что наличие в начале статьи пары параметров Namespace и Assembly однозначно выдаёт такую статью.
Ну ладно, это COM-функция, её могли пропустить и убрать из «Win32 & COM Develompent», но что-нибудь базовое же должно быть.
Ищем по «FlushInstructionCache»
И первая же страница ведёт на описание функции, и на странице описания изначально выбрана вкладка «C#», в которой должен быть пример использования функции, но его там нет:
И знаете что главное? Главное, что статья находится в секции «Windows Development».
Это означает, что раздела «Win32 & COM Development» больше нет.
Поплачьте о нём.
По сути из этого следует, что теперь вы должны сломать свои глаза, отделяя дотнет-информацию от Win32-информации. Учитывая направления внутри MS, правильно будет сказать не «отделяя», а «ища needle в haystack'е» (иголку в стоге сена).
В общем: структуру разделов справки полностью изменили. Это может и хорошо и правильно с точки зрения марсианина Гжъяпцйуймолькера или вулкана Эйяфьядлайокудля, но с точки зрения программиста, который давно и регулярно пользуется справкой, это «подстава». Это всё равно, что разом поменять названия всех улиц в городе на день почтальона. Для человека, который пользуется справкой регулярно, дерево содержания — это индекс. Индекс необходим для быстрого нахождения. Теперь нужно всё индексировать заново.
Но есть ещё кое-что
Дизайн классической справочной системы — слева дерево, а справа — бокс для просмотра статьи. Но особо одарённые люди в Microsoft нашли у такого дизайна ФАТАЛЬНЫЙ НЕДОСТАТОК.
Необходимость отображать на экране деревья, например, дерево папок, возникла, наверное, ещё с тех пор, как появилась иерархическая файловая система.
Раньше, когда памяти было мало и дисплеи были небольшими, дерево отображали так, и считали, что это нормально:
Именно так выглядит DirView из VB6.
У такого способа отображения есть недостаток: вы не можете видеть, что ещё есть в папке sdk кроме папки win и вы не узнаете, пока не выберете папку sdk, но тогда вы перестанете видеть содержимое папки ddk.
Такой способ отображения признали уродским, неудобным, устаревшим, и перешли к TreeView:
На нём прекрасно видно и содержимое sdk и содержимое других развёрнутых папок.
Можно развернуть сразу несколько папок.
Это вкусно и хорошо.
Не нужно тыкать по родителю каждого пункта, чтобы увидеть его сиблинги.
Ещё раз:
_ _ _ _ _
Слева — нормальному разработчику так делать западло. Справа — вкусное дерево.
На данный момент, на 2010 год дела обстоят именно так.
А причём тут MSDN Library?
Очень даже причём.
Раньше там было хороее дерево, такое, как справа. В нём был ещё раздел «Win32 & COM Development», но не это важно. Важно, что дерево было вкусным.
А что теперь?
Уникумы из Microsoft поработали над внешним видом дерева, и теперь оно выглядит так:
Ничего не напоминает?
Нет! Стоп! Не отвечайте! Прежде чем вы ответите, позвольте всего один вопрос:
Посмотрите на первые несколько пунктов на этой картинке. Заклейте изолентой всё лишнее! Я вас прошу! Боитесь испортить монитор? Хорошо, я испорчу свой!
Смотрите:
А теперь, собственно, вопрос: вы правда считаете, что каждый пиксель этой картинки говорит вам о том, что пункты «Combo Box» и «Control Library» — не одноуровневые, не сиблинги, а что «Combo Box» находится внутри «Control Library», а «Windows Controls» является родителем «Control Library». Правда-правда?
А теперь, внимание! Инструкция: как сделать из гадкого устаревшего дерева воистину рекордно тошнотворный объект.
- Уберите иконки к чертовой матери!
- Отступы — для даунов; уберите отступы у всех элементов, что выше по уровню, чем выбранный!
- Уберите выделение с выделенного пункта, покрасьте его текст в оранжевый!
Вкусняшка готова, извольте откушать!
Пояснительная картинка:
Люди, которые хорошо видят аналогии, наверняка заметили, что от дерева ничего не осталось. По сути, то, что получилось, является так называемыми хлебными крошками, записанными не в строчку, а в столбик:
Мораль
Ладно, раздел «Win32 & COM Development» служил мне долгие годы. Убили. Ладно, оплачем, стерпим. В конце концов, будущее за прогрессивными технологиями, дотнет рулит, а интересы какого-то Хакера — старого пердуна-маразматика с его технологиями каменного века (Win32 и COM) — никого не волнуют, чтобы держать ради них (какая наглость!) целый отдельный раздел.
Но вот за редизайн дерева автору надо... нет, даже не пулю в лоб, а снаряд калибра 135 мм в репу.
Ждёт ли нас спасение?
К счастью, спасение (пока! тс-сс...) существует. Нужно найти в правой верхней части страницы кнопку «Preferences» и выбрать там Classic View. Адекватное дерево с вкусными плюсиками опять радо видеть вас.