You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: manuals/2/0__basic_clean_code_principles/article.md
+9-7Lines changed: 9 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@
12
12
13
13
Чтобы наглядно продемонстрировать разницу, давайте рассмотрим следующий пример.
14
14
15
-
%**Пример**
15
+
>**Пример**
16
16
Написать программу, которая определяет, является ли введённое число простым или составным.
17
17
На вход программе можно подавать любое натуральное число, большее `1`.
18
18
Если число простое, то программа выводит строку `prime`, иначе -- строку `composite`.
@@ -215,10 +215,11 @@ int main(void) {
215
215
Отдельно каснёмся оформления арифметических выражений. Иногда внутри них опускают пробелы вокруг бинарных операторов, чтобы нагляднее показать структуру выражения и/или приоритет операций. Операторы, имеющие более высокий приоритет, пишут без пробелов, в то время как операторы более низкого приоритета — с пробелами вокруг. Посмотрите на следующий листинг с примерами:
(num_1*num_2) / (num_3*num_4); // сначала вычисляются выражения в числителе и знаменателе
220
221
(-b + determinant) / (2*a); // добавили пробелы вокруг + для улучшения читаемости
221
-
222
+
```
222
223
223
224
## Имена переменных
224
225
@@ -328,15 +329,15 @@ int main(void)
328
329
Даже видя условие задачи, я не сразу сообразил, что за магические числа `4990` и `8.317e+24`.
329
330
330
331
331
-
Итак, применив всего несколько простых принципов, мы превратили нечитаемый код в хорошо структурированный и понятный чистый код.
332
+
Итак, применив всего несколько простых принципов, мы превратили нечитаемую портянку инструкций языка Си в хорошо структурированный и понятный код.
332
333
333
334
## Комментарии — говорить или молчать?
334
335
335
-
Комментарии необходимы, чтобы облегчить понимание кода другим програмистам, которые будут его читать и поддерживать.
336
+
Комментарии необходимы чтобы облегчить понимание кода другим програмистам, которые будут его читать и поддерживать.
336
337
337
-
Раньше разработчики часто добавляли в начало файла (“шапку”) информацию об авторе, версии кода и историю изменений. Это помогало координировать работу в команде и отслеживать изменения. Однако с появлением =систем управления версиями= (например, Git) необходимость в этих “шапках” отпала.
338
+
Раньше разработчики часто использовали комментарии для добавления в начало файла (“шапку”) информации об авторе, версии программы, историю изменений и контактных данных. Это помогало координировать работу в команде и отслеживать изменения. Однако с появлением =систем управления версиями= (например, Git) необходимость в подобных “шапках” резко сократилась.
338
339
339
-
Тем не менее, комментарии по-прежнему полезны для объяснения сложных алгоритмов, неочевидных решений, ссылок на стандарты или обоснования нестандартного подхода. Однако комментарии, дублирующие очевидный код, не несут никакой пользы и только засоряют его.
340
+
Тем не менее, комментарии по-прежнему полезны для объяснения сложных алгоритмов, неочевидных решений, ссылок на стандарты или объяснения нестандартных решений и трюков. Однако комментарии, дублирующие очевидный код, не несут никакой пользы и только засоряют его.
340
341
341
342
Листинг 11. Плохой пример использования комментариев
342
343
```c
@@ -358,6 +359,7 @@ int main() {
358
359
return 0;
359
360
}
360
361
```
362
+
361
363
Здесь нет ни одного полезного комментария. Эти комментарии лишь описывают очевидный код и не добавляют никакой новой информации, а наоборот, затрудняют чтение. Такие комментарии на зачётах по программированию используют нерадивые студенты, которым программу написал друг или генеративный искусственный интеллект. Им они действительно нужны, т.к. для них комментируемый код зачастую не является очевидным. =)
362
364
363
365
% **Принцип 7:** Избегайте избыточных и тривиальных комментариев, которые не несут полезной информации.
@@ -366,7 +368,7 @@ int main() {
366
368
367
369
Чтобы проиллюстрировать разумное использование комментариев, давайте усовершенствуем программу из Листинг 2 (или Листинга 9) следующим образом:
368
370
369
-
Листинг 12.
371
+
Листинг 12. Добавим в Листинг 9 математический трюк для оптимизации перебора
0 commit comments