Skip to content

Commit 7aec631

Browse files
Merge pull request #228 from xcurveballx/1/03/03-comments-fix-lex111
1/03/03 comments fix lex111
2 parents ca089fa + 5d382df commit 7aec631

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

1-js/03-code-quality/03-comments/article.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Комментарии
22

3-
Как мы знаем из главы <info:structure>, комментарии могут быть однострочными, начинающимися с `//`, и многострочными: `/* ... */`.
3+
Как мы знаем из главы <info:structure>, комментарии могут быть однострочными, начинающимися с `//` и многострочными: `/* ... */`.
44

55
Обычно мы их используем, чтобы описать, как и почему работает код.
66

@@ -43,7 +43,7 @@ function showPrimes(n) {
4343
}
4444
```
4545

46-
Лучший вариант, с использованием отдельной функции `isPrime`:
46+
Лучший вариант — использовать отдельную функцию `isPrime`:
4747

4848

4949
```js
@@ -65,11 +65,11 @@ function isPrime(n) {
6565
}
6666
```
6767

68-
Теперь мы можем легко понять код. Функция сама становится комментарием. Такой код называется *самодокументируемым*.
68+
Теперь мы можем легко понять код. Функция сама становится комментарием. Такой код называется *самодокументированным*.
6969

7070
### Рецепт: создавайте функции
7171

72-
И если мы имеем длинный кусок кода:
72+
И если мы имеем такой длинный кусок кода:
7373

7474
```js
7575
// здесь мы добавляем виски
@@ -113,7 +113,7 @@ function addJuice(container) {
113113

114114
Ещё раз, функции сами по себе описывают, что в них происходит. Тут нечего комментировать. И ещё, структура кода лучше, когда она разделена на части. Понятно, что делает каждая функция, что она принимает и что возвращает.
115115

116-
В реальности мы не можем полностью избежать "объясняющих" комментариев. Существуют сложные алгоритмы. И есть хитрые "твики" для их оптимизации. Но в целом мы должны стараться писать простой и самодокументируемый код.
116+
В реальности мы не можем полностью избежать "объясняющих" комментариев. Существуют сложные алгоритмы. И есть хитрые уловки для оптимизации. Но в целом мы должны стараться писать простой и самодокументированный код.
117117

118118
## Хорошие комментарии
119119

@@ -130,8 +130,8 @@ function addJuice(container) {
130130
/**
131131
* Возвращает x, возведённое в n-ную степень.
132132
*
133-
* @param {number} x Возводимое в степерь число.
134-
* @param {number} n Степерь, должна быть натуральным числом.
133+
* @param {number} x Возводимое в степень число.
134+
* @param {number} n Степень, должна быть натуральным числом.
135135
* @return {number} x, возведённое в n-ную степень.
136136
*/
137137
function pow(x, n) {
@@ -141,7 +141,7 @@ function addJuice(container) {
141141

142142
Подобные комментарии позволяют нам понимать назначение функции и правильно её использовать без необходимости заглядывать в код.
143143

144-
Кстати, многие редакторы, такие как [WebStorm](https://www.jetbrains.com/webstorm/), прекрасно их понимают и используют для обеспечения функции автозавершения и некоторых автоматических проверок кода.
144+
Кстати, многие редакторы, такие как [WebStorm](https://www.jetbrains.com/webstorm/), прекрасно их распознают для того, чтобы выполнить автодополнение ввода и различные автоматические проверки кода.
145145

146146
Также существуют инструменты, например, [JSDoc 3](https://github.com/jsdoc3/jsdoc), которые умеют генерировать HTML-документацию из комментариев. Получить больше информации о JSDoc вы можете здесь: <http://usejsdoc.org/>.
147147

@@ -152,8 +152,8 @@ function addJuice(container) {
152152

153153
Без подобных комментариев возможна следующая ситуация:
154154
1. Вы (или ваш коллега) открываете написанный некоторое время назад код и видите, что в нём есть что улучшить.
155-
2. Вы думаете: "Каким тупым я был раньше, и какой я умный сейчас", и переписываете его на "более правильный и оптимальный" вариант.
156-
3. ...Желание переписать код -- это хорошо. Но в процессе вы понимаете, что "оптимальное" решение на самом деле не такое уж и оптимальное. Вы даже смутно припоминаете, почему, так как в прошлый раз вы уже его пробовали. Вы возвращаетесь к правильному варианту, потратив время зря.
155+
2. Вы думаете: "Каким глупым я раньше был и насколько умнее стал сейчас", и переписываете его на "более правильный и оптимальный" вариант.
156+
3. ...Желание переписать код -- это хорошо. Но в процессе вы понимаете, что "оптимальное" решение на самом деле не такое уж и оптимальное. Вы даже смутно припоминаете почему, так как в прошлый раз вы уже его пробовали. Вы возвращаетесь к правильному варианту, потратив время зря.
157157

158158
Комментарии, объясняющие решение, очень важны. Они помогают продолжать разработку в правильном направлении.
159159

@@ -170,11 +170,11 @@ function addJuice(container) {
170170

171171
- Общую архитектуру, вид "с высоты птичьего полёта".
172172
- Использование функций.
173-
- Важные решения, особенно когда они неочевидны.
173+
- Важные решения, особенно когда они не очевидны на первый взгляд.
174174

175175
**Избегайте комментариев:**
176176

177177
- Которые объясняют, "как работает код" и "что он делает".
178-
- Используйте их только в тех случаях, когда невозможно сделать настолько простой и самодокументируемый код, который не потребует комментариев.
178+
- Используйте их только в тех случаях, когда невозможно сделать настолько простой и самодокументированный код, что он не потребует комментариев.
179179

180-
Автодокументирующие инструменты, такие как JSDoc3, также используют комментарии: они их читают и генерируют HTML-документацию (или документацию в другом формате).
180+
Средства для генерации документации по коду, такие как JSDoc3, также используют комментарии: они их читают и генерируют HTML-документацию (или документацию в другом формате).

0 commit comments

Comments
 (0)