6.3. Функции с побочным эффектомФункция называется функцией с побочным эффектом, если помимо результата, вычисляемого функцией и возвращаемого ей в операторе return, она имеет выходные аргументы с ключевыми словами ref и out. Хороший стиль объектно-ориентированного программирования не рекомендует использование таких функций. Выражения, использующие функции с побочным эффектом, могут потерять свойства, присущие им в математике. Если f(a) - функция с побочным эффектом, то a + f(a) может быть не равно f(a) + a. Примером такой функции является функция f, приведенная выше (см. стр. 86). Вот тест, демонстрирующий потерю коммутативности сложения при работе с этой функцией: /// <summary> На рис. 20 показаны результаты работы этого метода Рисунок 20. Демонстрация вызова функции с побочным эффектом Обратите внимание на полезность указания ключевого слова ref в момент вызова. Его появление хоть как-то оправдывает некоммутативность сложения.
|