DsHashable: review

git-svn-id: https://svn.php.net/repository/phpdoc/ru/trunk@344761 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
Alexey Pyltsyn
2018-04-20 08:10:53 +00:00
parent 2d1a8ce318
commit d41159a608
3 changed files with 24 additions and 24 deletions

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: e9366ee458b2900c53a503b1ad97664e1d9a8859 Maintainer: rjhdby Status: ready -->
<!-- Reviewed: no -->
<!-- Reviewed: yes Maintainer: lex -->
<!-- $Revision$ -->
<phpdoc:classref xml:id="class.ds-hashable" xmlns:phpdoc="http://php.net/ns/phpdoc" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
@ -23,8 +23,8 @@
<para>
Функция <function>hash</function> используется для вычисления скалярного значения,
характеризующего хеш объекта и определяющего его положение в хеш-таблице.
Это значение не обязательно должно быть уникальным. Объекты с одинаковым хешем
считаются идентичными.
Хотя это значение необязательно должно быть уникальным, одинаковые объекты должны иметь
одно и то же значение хеша.
</para>
<para>
Функция <function>equals</function> используется для определения идентичности двух

View File

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: dd07341fae2c414adc1f700be0890ff32e8daab4 Maintainer: rjhdby Status: ready -->
<!-- Reviewed: no -->
<!-- Reviewed: yes Maintainer: lex -->
<!-- $Revision$ -->
<refentry xml:id="ds-hashable.equals" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>Ds\Hashable::equals</refname>
<refpurpose>Определяет, являются ли текущий экземпляр объекта эквивалентным переданному</refpurpose>
<refpurpose>Определяет, равен ли текущий экземпляр переданному объекту</refpurpose>
</refnamediv>
<refsect1 role="description">
@ -15,13 +15,13 @@
<methodparam><type>object</type><parameter>obj</parameter></methodparam>
</methodsynopsis>
<para>
Определяет, являются ли текущий экземпляр объекта эквивалентным переданному.
Определяет, являются ли текущий экземпляр эквивалентным переданному другому объекту.
</para>
<para>
Этот метод позволяет использовать объекты в качестве ключей в таких структурах
как <classname>Ds\Map</classname> и <classname>Ds\Set</classname>, или
любых других, честно реализующих этот интерфейс.
Этот метод позволяет использовать объекты в качестве ключей в таких структурах,
как <classname>Ds\Map</classname> и <classname>Ds\Set</classname> или
любых других структурах, распознающих этот интерфейс.
</para>
<note>
@ -56,7 +56,7 @@
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&true; если идентичны, и &false; в обратном случае.
&true;, если идентичны, &false; в противном случае.
</para>
</refsect1>

View File

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: dd07341fae2c414adc1f700be0890ff32e8daab4 Maintainer: rjhdby Status: ready -->
<!-- Reviewed: no -->
<!-- Reviewed: yes Maintainer: lex -->
<!-- $Revision$ -->
<refentry xml:id="ds-hashable.hash" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>Ds\Hashable::hash</refname>
<refpurpose>Возвращает скалярное значение для использования в роли хеша</refpurpose>
<refpurpose>Возвращает скалярное значение для использования в качестве значения хеша</refpurpose>
</refnamediv>
<refsect1 role="description">
@ -15,36 +15,36 @@
<void />
</methodsynopsis>
<para>
Возвращает скалярное значение для использования в роли хеша объекта.
Возвращает скалярное значение, которое будет использоваться в качестве значение хеша объектов.
</para>
<para>
В то время как значение хеша само по себе не гарантирует идентичность объектов, но
это все-же обязательным условием при проверке с помощью функции
<function>Ds\Hashable::equals</function>. Значение хешей для одинаковых объектов
все же все объекты, равные при проверке с помощью функции
<function>Ds\Hashable::equals</function>, должны иметь одно и то же значение хеша.
Значение хешей для одинаковых объектов
не обязаны быть уникальными, к примеру вы можете просто возвращать &true; для
всех объектов и ничего не сломается. Единственным последствием будет то, что
ваша хеш-таблица превратится в связанный список, потому что хеши всех объектов
будут содержаться в одном блоке. Из этого следует, что важно выбирать хорошие
значения/функции для создания хешей. Например уникальный идентификатор, или
e-mail адрес.
будут содержаться в одном блоке. Из этого следует, что важно выбирать хорошее
значение хеша, например уникальный идентификатор или адрес электронной почты.
</para>
<para>
Этот метод позволяет использовать объекты в качестве ключей в таких структурах как
<classname>Ds\Map</classname> и <classname>Ds\Set</classname>, или
любых других, честно реализующих этот интерфейс.
<classname>Ds\Map</classname> и <classname>Ds\Set</classname> или
любых других структурах, распознающих этот интерфейс.
</para>
<caution>
<para>
Не выбираейте значение, которое может измениться, такие как публичные свойства.
Не выбираейте значение, которое может измениться, например, из общедоступных свойств.
Поиск в хеш-таблице завершится неудачей, если это значение изменится.
</para>
</caution>
<caution>
<para>
Все объекты, которые должны считаться идентичными, должны иметь одинаковые хеши.
Все одинаковые объекты должны иметь одно и то же значение хеша.
</para>
</caution>
@ -58,7 +58,7 @@
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Скалярное значение для использования в роли хеша.
Скалярное значение для использования как значение хеша.
</para>
</refsect1>
@ -91,7 +91,7 @@ class HashableObject implements \Ds\Hashable
}
/**
* Функция определения идентичности объектов. Обычно сверяют, что
* Функция определения идентичности объектов. Обычно проверяют, что
* значения хешей обоих объектов совпадают. Но можно добавить
* дополнительные проверки.
*/