Skip to content

feat(25-strings): перенос теории из Python и адаптация под java#312

Open
fey wants to merge 2 commits into
mainfrom
update-25-strings-from-python
Open

feat(25-strings): перенос теории из Python и адаптация под java#312
fey wants to merge 2 commits into
mainfrom
update-25-strings-from-python

Conversation

@fey

@fey fey commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Что сделано

Расширил теорию двух уроков модуля «Строки» в Java-курсе до объема эталонного Python-курса, адаптировав примеры под Java. Дополнительно создал два новых RU-урока в этом же модуле и добавил их в эту ветку.

Новые уроки

Урок Тема Java Python % от Python Тест
30-multiline-strings Текстовые блоки """...""" 2297 2587 89% PASS
40-encoding Кодировки, Unicode, UTF-8 3174 3479 91% PASS
  • 30-multiline-strings перенесен из Python 31-advanced-strings/90-multiline-strings. Тройные кавычки '''...''' заменены на текстовый блок Java """...""" (открывающие """ с новой строки, общий отступ слева отсекается). Решение печатает две строки «Лето / пришло» через текстовый блок
  • 40-encoding перенесен из Python 25-strings/30-encoding. Понятия набора символов, Unicode и UTF-8 объяснены без приведения типов и методов. Решение выводит строку с не-ASCII символом © 2024 Hexlet
  • Оба урока RU-only (ровно 6 файлов: App.java, Test.java, Makefile, ru/README.md, ru/EXERCISE.md, ru/data.yml). Локали es/ и en/ добавят позже

Объемы существующих уроков (RU README, wc -m)

Урок Java Python % от Python
10-quotes 3873 3858 100%
20-strings-concatenation 2760 2270 122%

Оба урока выше порога 85%. 20-strings-concatenation немного выше ориентира 110%, потому что в Java-версии разобран дополнительный материал (три способа поставить пробел, конкатенация с числом), а не вода.

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

Модуль идет сразу после арифметики и до переменных, типов и методов. Поэтому в примерах только System.out.println(...), строковые литералы (включая текстовый блок) и конкатенация через +. Без переменных, методов строк (.length, charAt и прочих), без if и циклов.

  • Строки только в двойных кавычках. Одинарные кавычки 'A' упомянуты как тип char (один символ), а не строка
  • Конкатенация через +, включая склейку строки с числом ("Сумма: " + 5Сумма: 5)
  • Экранирование \" в 10-quotes затронуто кратко, без дублирования урока про escape-последовательности
  • Перенесены tips и definitions из Python ru/data.yml с заменой на Java-примеры. Имена name оставлены прежними (Кавычки, Конкатенация)

Что не тронуто

  • Урок 15-escape-characters (уже полнее Python)
  • Все *.java, EXERCISE.md существующих уроков
  • Локали es/ и en/, description.*.yml

Проверки

  • wc -m ≥ 85% для всех уроков
  • Нет «ё», нет «ёлочек», нет преждевременных конструкций (var/if/методы)
  • yamllint — 0 ошибок
  • ajv для всех data.yml — valid
  • rumdl для README — без проблем
  • Компиляция и тесты новых уроков в Docker: PASS 30-multiline-strings (вывод Лето\nпришло), PASS 40-encoding (вывод © 2024 Hexlet)
  • Тесты существующих уроков в Docker: PASS 10-quotes, PASS 15-escape-characters, PASS 20-strings-concatenation (код не менял)

🤖 Generated with Claude Code

fey and others added 2 commits June 24, 2026 01:52
Расширил теорию двух уроков модуля «Строки» до объема эталонного
Python-курса, адаптировав примеры под Java.

- 10-quotes: что считается строкой (пробел, пустая строка), терминология
  строка/строчка, только двойные кавычки в Java, проблема кавычек внутри
  строки, экранирование через обратный слэш. Перенес tips (ссылка на
  документацию String). Объем 100% от Python.
- 20-strings-concatenation: динамический текст, порядок операндов, пробел
  как символ, конкатенация строки с числом через +, управляющие
  последовательности при склейке. Перенес tips (BEGIN/END) и definitions
  (Конкатенация) с Java-примерами.

Адаптация под порядок тем: только System.out.println, строковые литералы
и конкатенация через +. Без переменных, методов строк, if и циклов.
Урок 15-escape-characters, задания и локали es/en не тронуты.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Новые RU-уроки: текстовые блоки """...""" и кодировки/Unicode.
Перенос тем из Python (90-multiline-strings, 30-encoding), адаптация под Java.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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