On branch main

modified:   src/ch03.md
This commit is contained in:
zed
2023-11-14 17:00:10 +03:00
parent a38dc8a68d
commit 921c7b3883

View File

@@ -1,8 +1,8 @@
# Руководство по стилю оформления.
# Руководство по стилю оформления
В это короткой главе мы рассмотрим 2 правила оформления,
которые обеспечивабтся компилятором, а также различные
которые обеспечиваются компилятором, а также различные
соглашения об именовании в стандартной библиотеке Zig.
## Неиспользуемые переменные
@@ -89,14 +89,14 @@ fn read(stream: std.net.Stream) ![]const u8 {
## Соглашения об именовании
За исключением правил, диктуемых компилятором, Вы, разумеется,
вольны использовать такие такие соглашения об именах, какие Вам больше
вольны использовать такие соглашения об именах, какие Вам больше
нравятся. Однако, соверешенно не вредно понимать собственные
соглашения Zig, поскольку стандартная библиотека, которой Вы,
безуловно, будете пользоваться, придерживается этих соглашений.
Отступы в Zig - это 4 пробела. Как правило, текстовые редакторы
можно настроить так, чтобы клавиша `Tab` вставляла именно 4 пробела,
а не символ табуляции и это гораздо удобней, 4 раза нажимать пробел.
а не символ табуляции и это гораздо удобней, чем 4 раза нажимать пробел.
Имена функций пишутся в `camelCase`, имена переменных - в `snake_case`.
Типы пишутся в `PascalCase`. Есть одно интересное перечение этих 3-х правил.
@@ -109,10 +109,10 @@ std.debug.print("{any}\n", .{@TypeOf(.{.year = 2023, .month = 8})});
```
Мы уже видели некторые другие встроенные функции, как то `@import`, `@rem` и `@intCast`.
Поскольку это функции, их имена записаны в `camelCase`. Однако, `@TyoeOf` это тоже
Поскольку это функции, их имена записаны в `camelCase`. Однако, `@TypeOf` это тоже
(встроенная) функция, но она почему то написана в `PascalCase`. А это потому,
что она возвращает *тип* и поэтому для её имени используется соглашение для типов,
а не для функций. Если бы присваивали результат функции `@TypeOf` какой-то переменной,
а не для функций. Если бы мы присваивали результат функции `@TypeOf` какой-то переменной,
эту переменную так же следовало бы писать в `CamelCase`:
```zig
@@ -120,11 +120,7 @@ const T = @TypeOf(3)
std.debug.print("{any}\n", .{T});
```
У компилятор Zig есть команда `fmt`, которая форматирует обозначенные файлы
У компилятора Zig есть команда `fmt`, которая форматирует обозначенные файлы
по своим правилам. Впрочем, такое форматирование затрагивает не всё -
например, оно подправит отступы и положение фигурных скобок для блоков,
но регистр идентификаторов останется как есть.