Skip to content

Commit 7c84b49

Browse files
andrbreustshemsedinov
authored andcommitted
Corrected some mistakes
1 parent 2bb2589 commit 7c84b49

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

content/ru/1-1-Approach.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
11
## 1.1. Подход к изучению программирования
22

3-
Многие думают, что главный навык программиста — это писать код. На самом деле, программисты чаще читают код и исправляют его. А основные критерии качества, кода — понятность, читаемость и простота. Как говорил Гарольд Абельсон: «Программы должны писаться для людей, которые будут их читать, а машины, которые будут эти программы исполнять — второстепенны».
3+
Многие думают, что главный навык программиста — это писать код. На самом деле, программисты чаще читают код и исправляют его. А основные критерии качества кода — понятность, читаемость и простота. Как говорил Гарольд Абельсон: «Программы должны писаться для людей, которые будут их читать, а машины, которые будут эти программы исполнять — второстепенны».
44

55
> Главные навыки программиста — это чтение и исправление кода.
66
7-
Каждая тема содержит примеры хорошего кода и плохого кода. Эти примеры собраны из практики программирования и ревью проектов. Специально заготовленные примеры плохого кода будут работоспособны, но полны антипаттернов и проблем, которые нужно выявить и исправить. Даже сама первая практическая работа в курсе будет связана с исправлением кода, повышением его читабельности. Если давать традиционные задания (написать функцию по сигнатуре, алгоритм, класс), то начинающий, очевидно, реализует его не лучшим образом, но будет защищать свой код, потому, что это первое, что он написал. А если задача будет "взять пример чужого плохого кода, найти проблемы и исправить", не переписать с нуля, а улучшит в несколько шагов, фиксируя и осознавая эти шаги, то включается критический подход.
7+
Каждая тема содержит примеры хорошего кода и плохого кода. Эти примеры собраны из практики программирования и ревью проектов. Специально заготовленные примеры плохого кода будут работоспособны, но полны антипаттернов и проблем, которые нужно выявить и исправить. Даже сама первая практическая работа в курсе будет связана с исправлением кода, повышением его читабельности. Если давать традиционные задания (написать функцию по сигнатуре, алгоритм, класс), то начинающий, очевидно, реализует его не лучшим образом, но будет защищать свой код, потому что это первое, что он написал. А если задача будет "взять пример чужого плохого кода, найти проблемы и исправить", не переписать с нуля, а улучшить в несколько шагов, фиксируя и осознавая эти шаги, то включается критический подход.
88

99
> Исправление плохого кода — один из самых эффективных способов обучения.
1010
1111
Начинающий получает примеры ревью кода и по аналогии стремится исправить и свое задание. Такие итерации повторяются много раз, не теряя критичного настроя. Очень хорошо, если будет наставник, который наблюдает за улучшениями, и может корректировать и подсказывать. Но наставник ни в коем случае не должен делать работу за новичка, а скорее наталкивать его на то, как нужно думать о программировании и где искать решение.
1212

1313
> Наставник — незаменим на любом этапе профессионального роста.
1414
15-
Дальше будут идти задания по написанию своего кода. Очень рекомендуем начинающим обмениваться между собой этими решениями для перекрестного ревью. Конечно, перед этим нужно применить линтеры и форматеры кода, которые проанализируют синтаксис, находя в нем ошибки, и выявят проблемные места по большому количеству шаблонов кода. Нужно добиться того, что бы коллега понимал выраженную тобой мысль, а не тратил время на синтаксис и форматирование.
15+
Дальше будут идти задания по написанию своего кода. Очень рекомендуем начинающим обмениваться между собой этими решениями для перекрестного ревью. Конечно, перед этим нужно применить линтеры и форматеры кода, которые проанализируют синтаксис, находя в нем ошибки, и выявят проблемные места по большому количеству шаблонов кода. Нужно добиться того, чтобы коллега понимал выраженную тобой мысль, а не тратил время на синтаксис и форматирование.
1616

1717
> Применяйте дружественное ревью кода, перекрестное ревью, линтеры и форматеры.
1818
1919
Переходим к упражнениям на снижение зацепления между несколькими абстракциями, потом между модулями, т.е. сделать так, чтобы нужно было как можно меньше знать про структуры данных одной части программы из другой ее части. Снижение языкового фанатизма достигается параллельным изучением с самого начала нескольких языков программирования и переводами с одного языка на другой. Между `JavaScript` и `Python` переводить очень просто, а `C` посложнее будет, но эти три языка, какие бы они ни были, нельзя не включить в курс.
2020

21-
> С первых шагов не допускайте ни какого фанатизма: языкового, фреймворкового, парадигменного.
21+
> С первых шагов не допускайте никакого фанатизма: языкового, фреймворкового, парадигменного.
2222
2323
Снижение фреймворкового фанатизма — запрет для начинающих использовать библиотеки и фреймворки, и сосредоточиться на максимально нативном коде, без зависимостей. Снижение парадигмального фанатизма — стараться комбинировать процедурное, функциональное, ООП, реактивное и автоматное программирование. Мы постараемся показать, как эти комбинации позволяют упростить паттерны и принципы из GoF и SOLID.
2424

0 commit comments

Comments
 (0)