|
|||
|
|||
Недокументированные функции |
|||
Дмитрий Турецкий Одним из наиболее популярных типов программ у меня на сайте являются программы для всевозможной "тонкой настройки" Windows. А в авторских описаниях этих программ, как правило, указывается, что-то вроде "программа позволяет настроить различные недокументированные функции". А что такое эти "недокументированные функции", откуда они берутся и зачем нужны? Понятно, что "недокументированные функции" - это какие-то возможности программы, не отраженные в документации ;-)) А возникают они по нескольким причинам. Во-первых, иногда это делается сознательно, чтобы сократить размер документации до "читаемых" масштабов. Представляете, например, что произошло бы, если бы Microsoft решила подробно задокументировать каждый ключ реестра и внести это описание в стандартную справку по Windows? Во-первых, эти данные все-равно бы почти никто не читал (кроме специалистов, разумеется), а во-вторых это бы заметно увеличило объем дистрибутива. Для примера, техническая документация по Windows (MSDN) занимает 3 компакт-диска... Кстати, подобная разбивка документации на "профессиональную" и "общедоступную" имеет и еще одну цель - ограничить возможность непрофессионалов "копаться" в "потенциально опасных местах". А как показывает практика, это довольно актуальная проблема - очень часто пользователи не обремененные лишними знаниями вытворяют с машиной такое, до чего и додуматься-то на трезвую голову не получится - в любой службе тех. поддержки вам расскажут не один десяток подобных случаев... А если нет документации, то надо еще догадаться, что это дело вообще редактировать можно... По этой же причине многие утилиты, даже включенные в дистрибутив Windows (скажем, тот же regedit), не вставляются в меню "Пуск" - кому надо, тот и из командной строки запустит... Другой вариант "недокументированных функций" - это различные отладочные ключи. Когда программист пишет программу и в ней происходит ошибка, то для ее (ошибки) вычисления программисту надо получить дополнительную информацию - значения переменных, имя подпрограммы, в которой произошел сбой и многое другое. А обычному пользователю эта информация не нужна. Поэтому, способы получения этой "дополнительной информации" и не описываются в документации. Причем отладочные функции могут не только выводить дополнительную информации, но и выполнять какие-то действия, которые предназначены "для внутреннего употребления"... Многие функции, также, не документируются, т.к. являются "производными" от компонентов, использованных в программе. Например, практически в любом окне, предназначенном для ввода текста двойной щелчок по слову выделяет его, а тройной - выделяет весь абзац. Некоторые функции являются общесистемными - скажем Ctrl-Z отменяет последнее действие. Иногда, сочетания подобных "унаследованных" свойств оказываются довольно экзотичными и авторы сами о них не знают... Еще в программах встречаются, так называемые, Easter Eggs - функции, сознательно внесенные в программу разработчиками и никак не отраженные в документации. Как правило. для вызова таих функций требуется проделать определенные действия (например, нажать Ctrl-Shift-F10 в игре FreeCell, она же "Свободная ячейка"), а сами функции выполняют какие-то забавные или нестандартные функции, а иногда выводят имена авторов. Изначально такие функции вводились для того, чтобы программист мог доказать свое авторство, в случае кражи программы, а потом они превратились во что-то вроде "визитной карточки" и традиционного развлечения. Подобные "скрытые функции" есть в очень многих программах, в том числе и "серьезных", скажем, Word, Excel, сама Windows... Ну и, наконец, не стоит забывать и еще об одном факторе появления "недокументированных функций" - ведь программировать намного интереснее, чем писать документацию... Источник: http://www.diskovod.ru
|
|||
|
|||
Copyright © "Internet Zone", info@izcity.com | |||
Копирование и использование данных материалов разрешается только в случае указания на журнал "Internet Zone", как на источник получения информации. При этом во всех ссылках обязательно явное указание адреса вэб-сайта http://www.izcity.com/. При наличии у копируемого материала авторов и источника информации - их также нужно указывать, наряду со ссылкой на нас. |