2019-04-08, 1:19 PM | |
Зачем использовать функции? Начинающие программисты часто спрашивают: «А можно ли обходиться без функций и весь код помещать непосредственно в функцию main()?». Если вашего кода всего 10-20 строчек, то можно, если же серьёзно, то функции предназначены для упрощения кода, а не для его усложнения. Они имеют ряд преимуществ, которые делают их чрезвычайно полезными в нетривиальных программах.
Каждый раз, при вызове std::cin или std::cout для ввода или вывода данных, мы используем функцию из стандартной библиотеки C++, которая соответствует всем указанным выше концепциям. Эффективное использование функций Одной из наиболее распространённых проблем, с которой сталкиваются новички, является понимание того, где, когда и как эффективно использовать функции. Вот несколько основных рекомендаций при написании функций: - Код, который появляется более одного раза в программе, лучше переписать в виде функции. Например, если мы получаем данные от пользователя несколько раз одним и тем же способом, то это отличный вариант для написания отдельной функции. - Код, который используется для сортировки чего-либо, лучше записать в виде отдельной функции. Например, если у нас есть список вещей, которые нужно отсортировать — пишем функцию сортировки, куда передаём несортированный список и откуда получаем отсортированный. - Функция должна выполнять одно (и только одно) задание. - Когда функция становится слишком большой, сложной или непонятной – её следует разбить на несколько подфункций. Это называется рефакторинг кода. При изучении C++ вам предстоит написать много программ, которые будут включать следующие три подзадания: Получение данных от пользователя. Обработка данных. Вывод результата. Для простых программ (менее, чем 30 строчек кода) частично или все из этих трёх подзаданий можно записать в функции main(). Для более сложных программ (или просто для практики) каждое из этих трёх подзаданий является хорошим вариантом для написания отдельной функции. Новички часто комбинируют обработку ввода и вывод результата в одну функцию. Тем не менее, это нарушает правило «одного задания». Функция, которая обрабатывает значение, должна возвращать его в caller, а дальше уже пускай caller сам решает, что ему с ним делать. | |
| |
Просмотров: 303 | Загрузок: 0 | |
Всего комментариев: 0 | |