Skip to content

Commit 54cb968

Browse files
committed
5
1 parent aa29d49 commit 54cb968

9 files changed

Lines changed: 10 additions & 14 deletions

rustbook-ru/src/ch03-05-control-flow.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
Условие начинается с ключевого слова `if`, за которым следует условное выражение. В данном случае условное выражение проверяет, имеет ли переменная `number` значение меньше 5. Сразу после условного выражения внутри фигурных скобок мы помещаем разделкода, который будет выполняться, если итог равен `true`. Блоки кода, связанные с условными выражениями, иногда называют *ветками*, как и ветки в выражениях `match`, которые мы обсуждали в разделе ["Сравнение догадки с тайным числом"](ch02-00-guessing-game-tutorial.html#comparing-the-guess-to-the-secret-number) главы 2.
1818

19-
Это необязательно, но мы также можем использовать ключевое слово `else`, которое мы используем в данном примере, чтобы предоставить программе иной разделвыполнения кода, выполняющийся если итог вычисления будет ложным. Если не указать выражение `else` и условие будет ложным, программа просто пропустит раздел`if` и перейдёт к следующему отрывку кода.
19+
Это необязательно, но мы также можем использовать ключевое слово `else`, которое мы используем в данном примере, чтобы предоставить программе иной раздел выполнения кода, выполняющийся если итог вычисления будет ложным. Если не указать выражение `else` и условие будет ложным, программа просто пропустит раздел`if` и перейдёт к следующему отрывку кода.
2020

2121
Попробуйте запустить этот код. Появится следующий итог:
2222

rustbook-ru/src/ch05-02-example-structs.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
{{#rustdoc_include ../listings/ch05-using-structs-to-structure-related-data/listing-05-08/src/main.rs:here}}
2727
```
2828

29-
Функция `area` должна вычислять площадь одного прямоугольника, но функция, которую мы написали, имеет два свойства, и нигде в нашей программе не ясно, что эти свойства взаимосвязаны. Было бы более читабельным и управляемым собъединять ширину и высоту вместе. В разделе [«Упорядоченные ряды»]<!-- ignore --> главы 3 мы уже обсуждали один из способов сделать это — использовать упорядоченные ряды.
29+
Функция `area` должна вычислять площадь одного прямоугольника, но функция, которую мы написали, имеет два свойства, и нигде в нашей программе не ясно, что эти свойства взаимосвязаны. Было бы более читабельным и управляемым объединять ширину и высоту вместе. В разделе [«Упорядоченные ряды»]<!-- ignore --> главы 3 мы уже обсуждали один из способов сделать это — использовать упорядоченные ряды.
3030

3131
### Переработка кода при помощи упорядоченных рядов
3232

rustbook-ru/src/ch07-02-controlling-visibility-with-pub.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ fn main() {
5151
Со стороны стороннего кода все что находится в библиотеке имеет пространство имён
5252
`communicator` (имя библиотеки) верхнего уровня. Всё остальное, это подчиненные звенья.
5353

54-
Также, обратите внимание, что когда мы используем внешние библиотеки с подзвенами,
54+
Также, обратите внимание, что когда мы используем внешние библиотеки с внутренними вложениями,
5555
приказ `extern crate` начинает искать звенья с верхнего уровня.
5656

5757
В нашей программе двоичный файл вызывает библиотечную функцию `connect` из

rustbook-ru/src/ch07-02-defining-modules-to-control-scope-and-privacy.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,7 @@ backyard
6666

6767
В ресторанной индустрии некоторые части ресторана называются *фронтом дома*, а другие *задней частью дома*. Фронт дома это там где находятся клиенты; здесь размещаются места клиентов, официанты принимают заказы и оплаты, а бармены делают напитки. Задняя часть дома это где шеф-повара и повара работают на кухне, работают посудомоечные машины, а управленцы занимаются административной деятельностью.
6868

69-
Чтобы внутренне выстроить
70-
71-
ящик подобно тому, как работает настоящий ресторан, можно согласовать размещение функций во вложенных звенах. Создадим новую библиотеку (библиотечный ящик) с именем `restaurant` выполнив приказ `cargo new restaurant --lib`; затем вставим код из приложения 7-1 в *src/lib.rs* для определения некоторых звеньев и ярлыков функций. Это раздел фронта дома:
69+
Чтобы внутренне выстроить ящик подобно тому, как работает настоящий ресторан, можно согласовать размещение функций во вложенных звенах. Создадим новую библиотеку (библиотечный ящик) с именем `restaurant` выполнив приказ `cargo new restaurant --lib`; затем вставим код из приложения 7-1 в *src/lib.rs* для определения некоторых звеньев и ярлыков функций. Это раздел фронта дома:
7270

7371
<span class="filename">Файл: src/lib.rs</span>
7472

@@ -80,7 +78,7 @@ backyard
8078

8179
Мы определяем звено, начиная с ключевого слова `mod`, затем определяем название звена (в данном случае `front_of_house`) и размещаем фигурные скобки вокруг тела звена. Внутри звеньев, можно иметь другие звенья, как в случае с звенами `hosting` и `serving`. Звенья также могут содержать определения для других элементов, таких как устройства, перечисления, постоянные значения, особенности или — как в приложении 7-1 — функции.
8280

83-
Используя звенья, мы можем собъединять связанные определения вместе и сказать почему они являются связанными. Программистам будет легче найти необходимую возможность в объединенном коде, вместо того чтобы искать её в одном общем списке. Программисты, добавляющие новые функции в этот код, будут знать, где разместить код для поддержания порядка в программе.
81+
Используя звенья, мы можем объединять связанные определения вместе и сказать почему они являются связанными. Программистам будет легче найти необходимую возможность в объединенном коде, вместо того чтобы искать её в одном общем списке. Программисты, добавляющие новые функции в этот код, будут знать, где разместить код для поддержания порядка в программе.
8482

8583
Как мы упоминали ранее, файлы *src/main.rs* и *src/lib.rs* называются *корневыми звенами ящика*. Причина такого именования в том, что содержимое любого из этих двух файлов образует звено с именем `crate` в корне устройства звеньев ящика, известной как *дерево звеньев*.
8684

rustbook-ru/src/ch10-02-traits.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
77
### Определение особенности
88

9-
Поведение вида определяется теми способами, которые мы можем вызвать у данного вида. Различные виды разделяют одинаковое поведение, если мы можем вызвать одни и те же способы у этих видов. Определение особенностей - это способ собъединять ярлыки способов вместе для того, чтобы описать общее поведение, необходимое для достижения определённой цели.
9+
Поведение вида определяется теми способами, которые мы можем вызвать у данного вида. Различные виды разделяют одинаковое поведение, если мы можем вызвать одни и те же способы у этих видов. Определение особенностей - это способ объединять ярлыки способов вместе для того, чтобы описать общее поведение, необходимое для достижения определённой цели.
1010

1111
Например, пусть есть несколько устройств, которые имеют различный вид и различный размер текста: устройства `NewsArticle`, которая содержит новость, напечатанную в каком-то месте мира; устройства `Tweet`, которая содержит 280 символьную строку твита и мета-данные, обозначающие является ли твит новым или ответом на другой твит.
1212

rustbook-ru/src/ch11-03-test-organization.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ adder
9292

9393
#### Подзвенья в встроенных проверках
9494

95-
По мере добавления большего количества встроенных проверок, можно создать более одного файла в папке *tests*, чтобы легче создавать их; например, вы можете собъединять функции проверки по возможности, которую они проверяют. Как упоминалось ранее, каждый файл в папке *tests* собран как отдельный ящик, что полезно для создания отдельных областей видимости, чтобы более точно создавать видимость то, как конечные пользователи будут использовать ваш ящик. Однако это означает, что файлы в папке *tests* ведут себя не так, как файлы в *src*, как вы узнали в Главе 7 относительно того как разделить код на звенья и файлы.
95+
По мере добавления большего количества встроенных проверок, можно создать более одного файла в папке *tests*, чтобы легче создавать их; например, вы можете объединять функции проверки по возможности, которую они проверяют. Как упоминалось ранее, каждый файл в папке *tests* собран как отдельный ящик, что полезно для создания отдельных областей видимости, чтобы более точно создавать видимость то, как конечные пользователи будут использовать ваш ящик. Однако это означает, что файлы в папке *tests* ведут себя не так, как файлы в *src*, как вы узнали в Главе 7 относительно того как разделить код на звенья и файлы.
9696

9797
Различное поведение файлов в папке *tests* наиболее заметно, когда у вас есть набор вспомогательных функций, которые будут полезны в нескольких встроенных проверочных файлах. Представим, что вы пытаетесь выполнить действия, описанные в разделе [«Разделение звеньев в разные файлы»](ch07-05-separating-modules-into-different-files.html)<!-- --> главы 7, чтобы извлечь их в общий звено. Например, вы создали файл *tests/common.rs* и помеисполнения в него функцию `setup`, содержащую некоторый код, который вы будете вызывать из разных проверочных функций в нескольких проверочных файлах
9898

rustbook-ru/src/ch12-03-improving-error-handling-and-modularity.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Для улучшения программы мы исправим 4 имеющихся сбоев, связанных со устройством программы и тем как обрабатываются вероятные ошибки. Во-первых, функция `main` на данный мгновение решает две задачи: анализирует переменные приказной строки и читает файлы. По мере роста программы количество отдельных задач, которые обрабатывает функция `main`, будет увеличиваться. Поскольку эта функция получает больше обязанностей, то становится все труднее понимать её, труднее проверять и труднее изменять, не сломав одну из её частей. Лучше всего разделить возможность, чтобы каждая функция отвечала за одну задачу.
44

5-
Эта неполадка также связана со второй неполадкой: хотя переменные `query` и `file_path` являются переменными настройке нашей программы, переменные вида `contents` используются для выполнения логики программы. Чем длиннее становится `main`, тем больше переменных нам нужно будет добавить в область видимости; чем больше у нас переменных в области видимости, тем сложнее будет отслеживать назначение каждой переменной. Лучше всего собъединять переменные настройке в одну устройство, чтобы сделать их назначение понятным.
5+
Эта неполадка также связана со второй неполадкой: хотя переменные `query` и `file_path` являются переменными настройке нашей программы, переменные вида `contents` используются для выполнения логики программы. Чем длиннее становится `main`, тем больше переменных нам нужно будет добавить в область видимости; чем больше у нас переменных в области видимости, тем сложнее будет отслеживать назначение каждой переменной. Лучше всего объединять переменные настройке в одну устройство, чтобы сделать их назначение понятным.
66

77
Третья неполадка заключается в том, что мы используем `expect` для вывода сведений об ошибке при неполадке с чтением файла, но сообщение об ошибке просто выведет текст`Should have been able to read the file`. Чтение файла может не сработать по разным причинам, например: файл не найден или у нас может не быть разрешения на его чтение. Сейчас же, независимо от случаи, мы напечатаем одно и то же сообщение об ошибке, что не даст пользователю никакой сведений!
88

rustbook-ru/src/ch12-04-testing-the-librarys-functionality.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -151,9 +151,7 @@
151151
{{#include ../listings/ch12-an-io-project/output-only-04-no-matches/output.txt}}
152152
```
153153

154-
Отлично! Мы создали собственную простое-исполнение обычного средства и научились тому, как внутренне выстроить
155-
156-
приложения. Мы также немного узнали о файловом вводе и выводе, временах жизни, проверке и разборе переменных приказной строки.
154+
Отлично! Мы создали собственную простое-исполнение обычного средства и научились тому, как внутренне выстроить приложения. Мы также немного узнали о файловом вводе и выводе, временах жизни, проверке и разборе переменных приказной строки.
157155

158156
Чтобы завершить этот дело, мы кратко выполним пару вещей: как работать с переменными окружения и как печатать в обычный поток ошибок, обе из которых полезны при написании окно выводаных программ.
159157

0 commit comments

Comments
 (0)