Урок 11: Разбиение программы на функции
Мы уже умеем определять функции и вызывать их — теперь освоим искусство: как разбить целую программу на правильные функции. Главное правило: одна функция = одна задача, с именем, которое точно говорит, что она делает. Мы построим небольшой калькулятор с add, sub и mul, функцию print_menu, которая по
Хорошая программа похожа на кухню ресторана: станция салатов, станция гриля и станция десертов — и шеф-повар, который только направляет заказы на нужную станцию. Ни одна станция не делает всё, поэтому всё работает слаженно.
- декомпозиция
- Разбиение большой программы на маленькие функции, каждая с одной чёткой задачей.
- одна задача
- Принцип, по которому каждая функция делает ровно одно — её легко тестировать, исправлять и использовать повторно.
- main как дирижёр
- Тонкий main, который не вычисляет сам: он вызывает нужные функции в правильном порядке.
- диспетчеризация
- Выбор того, какая функция выполнится, на основе ввода пользователя, например с помощью цепочки if / else if.
- проектирование сверху вниз
- Начинаем с большой задачи, разбиваем её на подзадачи и только потом пишем каждую функцию.