Skip to content

feat(40-define-functions): полный перенос теории из Python и адаптация под JS#816

Merged
fey merged 1 commit into
mainfrom
update-40-define-functions-from-python
May 29, 2026
Merged

feat(40-define-functions): полный перенос теории из Python и адаптация под JS#816
fey merged 1 commit into
mainfrom
update-40-define-functions-from-python

Conversation

@fey
Copy link
Copy Markdown
Contributor

@fey fey commented May 29, 2026

Что сделано

Полный перенос модуля 40-define-functions (Определение функций) из Python (RU-локаль): расширена теория трёх уроков, которые были урезаны (from-python импорт).

Урок (JS ← Python) было стало от Python
100-define-functions-syntax ← 100-define-function 1538 4916 99%
150-define-functions-return ← 150-return 1182 4435 85%
340-default-parameters ← 200-default-parameters 1318 3431 104%

Адаптация под JS

  • 100-define: deffunction; питоновские отступы → тело в {}; раздел «определить ≠ вызвать»; пример printAverage; краткое упоминание стрелочных функций.
  • 150-return: ⚠️ убран преждевременный if (getSign) — условные конструкции изучаются позже (модуль 48). Вместо него — возврат вычисленного выражения (fullName), многострочные функции (formatName через trim/toUpperCase) и раздел «код после return» без условий.
  • 340-default: повторение строки через str.repeat() вместо питоновского умножения text * times; примеры joinWords, makeLine, getHiddenCard.

Не тронуто

  • 320-define-functions-parameters и 450-define-functions-short-syntax — оригинальный JS-контент (стрелочные функции, параметры).
  • Все задания и тесты.
  • 250-named-arguments и 300-type-annotations не переносятся (питон-специфика); 350-modules/400-packages отложены.

Проверки

  • vitest — 5/5 проходят.
  • biome check — exit 0.

🤖 Generated with Claude Code

Расширена теория уроков 100-define, 150-return, 340-default до объёма
Python-оригинала с адаптацией под JavaScript:
- def → function, отступы Python → тело в {} и принцип «определить ≠
  вызвать»;
- 150-return: убран преждевременный if (условные конструкции изучаются
  позже, в модуле 48); добавлены возврат выражения, многострочные
  функции, «код после return»;
- 340-default: повторение строки через str.repeat() вместо умножения,
  примеры joinWords/makeLine/getHiddenCard.
Уроки 320-parameters и 450-short-syntax (оригинальный JS-контент про
стрелочные функции) и все задания не тронуты. named-arguments и
type-annotations не переносятся; modules/packages отложены.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@fey fey merged commit 3f79034 into main May 29, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant