В компьютерном программировании полностью определенное имя — это однозначное имя, которое определяет, к какому объекту , функции или переменной относится вызов, независимо от контекста вызова. [ требуется ссылка ] В иерархической структуре имя является полностью определенным, когда оно «является полным в том смысле, что оно включает (a) все имена в иерархической последовательности выше данного элемента и (b) имя самого данного элемента». [1]
Полностью квалифицированные имена явно ссылаются на пространства имен , которые в противном случае были бы неявными из-за области действия вызова. [2] Хотя это всегда делается для устранения неоднозначности , это может означать разные вещи в зависимости от контекста.
Чтобы отличить полностью определенное имя от обычного имени, C++ , Tcl , Perl и Ruby используют два двоеточия ( ::), а Java использует точки ( .), как и Visual Basic .NET. [3] и C# . [4] В Java, ActionScript , [5] и других объектно-ориентированных языках использование точки известно как «точечный синтаксис». [6] Другие примеры включают:
В качестве примера реляционной базы данных в Microsoft SQL Server полное имя объекта — это имя, которое определяет все четыре части: server_name.[database_name].[schema_name].object_name. [7]
В Perl полностью определенный скаляр ( $scalar), находящийся в пакетеpackage2 , будет называться $package2::scalar[8]
В Ruby полное имя класса — это имя такого класса со всеми его родительскими модулями, например, Vehicles::Cars::Factory будет полным именем класса Factory в модуле Cars внутри модуля Vehicles.
В Rust полное имя типа — это имя такого типа со всеми его родительскими модулями, как и crate::components::transform::Transformполное имя Transformкласса внутри transformмодуля внутри componentsмодуля контейнера. Это можно определить, вызвав core::any::type_nameфункцию.
В COBOL полное имя элемента данных может быть создано путем добавления к потенциально неоднозначному идентификатору фразы IN(или OF). Например, несколько записей элементов данных могут содержать элемент-член с именем ACCOUNT-ID, поэтому указание ACCOUNT-ID IN CUSTOMERслужит для устранения неоднозначности определенного ACCOUNT-IDэлемента данных, в частности, того, который является членом родительского CUSTOMERэлемента данных. Для полного устранения неоднозначности заданного идентификатора может потребоваться несколько предложений, например, ACCOUNT-ID IN CUSTOMER IN LAST-TRANSACTION. Этот синтаксис эквивалентен «точечной» нотации, используемой во многих объектно-ориентированных языках программирования, но с идентификаторами, указанными в обратном порядке.
Имена файлов и пути
Термин полностью определенное имя файла (или FQFN ) означает файл на компьютере, точное имя которого полностью указано таким образом, что оно является недвусмысленным и не может быть ошибочно принято за любой другой файл в этой компьютерной системе. [9] В Интернете это в некоторой степени эквивалентно URL , указывающему полное имя компьютера и полное имя конкретного документа как файла. Альтернативой является неполное имя файла или частично определенное имя файла.
В системах Unix -стиля, DOS и Microsoft Windows имя "sample" относится к файлу в текущем каталоге с именем "sample". Если текущий каталог изменен, то файл, на который ссылается имя "sample", будет другим. Если вы начинаете имя файла с "/", указывающего на корневой каталог , как в "/Users/Name/sample", то в Unix это будет полное имя файла. Так, например, вместо ссылки на ./foo/bar/baz.shв /home/user/quz, которая использует относительное имя пути, полное имя будет /home/user/quz/foo/bar/baz.sh. [10] В DOS имя по-прежнему относительно корневого каталога текущего диска , поэтому для получения полного имени файла имя файла должно быть предварено буквой диска и двоеточием, как в "C:\Users\Name\sample", где "C:" указывает на диск "C".
Также в указанных выше системах некоторые программы, такие как оболочка командной строки, будут искать путь к файлу. Вставка начального (обратного) слеша, как в "./name", остановит поиск пути. Это частично определенное имя, но не полное, поскольку оно все еще зависит от текущего каталога. Полностью определенное имя, поскольку оно содержит (обратные) слеши, всегда остановит поиск пути.
В операционной системе мэйнфрейма MUSIC/SP , если кто-то запрашивает имя файла "X", он делает неквалифицированную ссылку либо на файл X в библиотеке пользователя, либо на файл X в общей библиотеке, если у пользователя нет файла с именем X, но он существует в общей библиотеке. Однако, если кто-то ссылается на "*COM:X", он использует ссылку на полное имя файла X в общей библиотеке, даже если у него есть другой файл с именем X в его библиотеке. Аналогично, ссылка на "*USR:X" будет означать файл в его собственной библиотеке, а "MA45:X" будет полным именем файла, ссылающимся на конкретный файл X в библиотеке пользователя MA45.
В операционной системе RSTS/E на миникомпьютере PDP-11 указание файла "XX" будет ссылаться на файл в вашем собственном каталоге. Ссылка на "$XX" будет ссылаться на файл "[1,2]XX", но для полного определения имени файла необходимо указать устройство, поэтому "SY:[46,145]MYFILE.TXT", "SY:$XX" или "SY:[1,2]XX" (последние два примера означают одно и то же) будет полностью определенным именем файла в RSTS/E.
В операционной системе UNIVAC Series 90 мэйнфрейма VS/9 указание файла "X" может означать либо файл X в учетной записи этого пользователя, либо файл X в библиотеке системного менеджера $TSOS. Однако указание "$S0103.X" будет полностью квалифицированным именем файла.
Этот термин может также включать случай, когда к полному имени файла добавляется префикс в виде имени конкретного компьютера (когда конкретная система позволяет ссылаться на файл в другой системе), при условии, что точное имя является однозначным.
Имена путей
Полное квалифицированное имя пути ( FQPN ) — это полный путь к ресурсу, каталогу или файлу, хранящемуся на компьютере . Он состоит из полного пути к ресурсу, а его синтаксис зависит от операционной системы . В операционных системах типа Unix он представлен в следующем виде: /root/path-to/file[OR]directory, в то время как в DOS и Microsoft Windows он представлен в следующем виде: [Drive]:\path-to\file.ext[OR]directory. FQPN также используется в сетевых технологиях и имеет следующий вид: , где — корневой каталог , первый или самый верхний каталог в иерархии, и, в данном случае, корневое дерево ; — это полностью квалифицированное доменное имя или узел. Он также используется в начальной загрузке , компьютерном программировании и в ссылках на компьютерные науки .\root\FQDN\path-to\file.ext[OR]directory/root/FQDN