Запитання з тегом «side-effect»

14
Чому побічні ефекти вважаються злом у функціональному програмуванні?
Я відчуваю, що побічні ефекти - це природне явище. Але це щось на зразок табу у функціональних мовах. Які причини? Моє питання стосується функціонального стилю програмування. Не всі мови програмування / парадигми.

9
Повернення вважається шкідливим? Чи може код бути функціональним без нього?
Гаразд, тому заголовок невеликий клік, але серйозно я розказав , не вимагайте удару. Мені подобається, як це заохочує методи використовувати як повідомлення справжнім об'єктно-орієнтованим способом. Але в цьому є гостра проблема, яка брякає в моїй голові. Я підозрюю, що добре написаний код може одночасно дотримуватися принципів ОО та функціональних принципів. …

7
Як ви називаєте функцію, коли той самий вхід завжди повертатиме один і той же вихід, але також має побічні ефекти?
Скажімо, у нас є нормальна чиста функція, така як function add(a, b) { return a + b } А потім ми його змінюємо таким чином, щоб він мав побічну дію function add(a, b) { writeToDatabase(Math.random()) return a + b; } Наскільки я знаю, це не є чистою функцією, оскільки я …

5
Асинхронне програмування на функціональних мовах
Я в основному програміст C / C ++, а це означає, що більшість мого досвіду стосується процедурних та об'єктно-орієнтованих парадигм. Однак, як відомо багато програмістів на C ++, C ++ з роками перейшов до акцентів до функціонально-есківського стилю, що завершилося, нарешті, додаванням лямбда і закриттям в C ++ 0x. Незважаючи …

3
Різні способи побачити монаду
Під час навчання Haskell я зіткнувся з великою кількістю навчальних посібників, намагаючись пояснити, що таке монади і чому монади важливі в Haskell. Кожен з них використовував аналогії, щоб було легше вловити сенс. Зрештою, у мене є 3 різних точки зору того, що таке монада: Перегляд 1: Монада як етикетка Іноді …

4
Чи користь схеми монад МО для лікування побічних ефектів суто академічна?
Вибачте за ще одне питання щодо FP + побічних ефектів, але я не зміг знайти існуючого, який цілком відповів би на мене. Моє (обмежене) розуміння функціонального програмування полягає в тому, що стан / побічні ефекти повинні бути мінімізовані і триматися окремо від логіки без стану. Я також збираю підхід Хаскелла …

5
Чому читання з пам'яті не є побічним ефектом, а читання з файлу є?
Що саме робить читання з пам'яті процесу чистою операцією? Припустимо, я створив масив із 100 цілих чисел у глобальній пам'яті, а потім взяв 42-й елемент цього масиву. Це не побічний ефект, правда? То чому читає той самий масив із 100 цілих чисел з файлу побічним ефектом?

2
Інтерфейс без побічних ефектів на вершині значної бібліотеки
В інтерв’ю Джона Х'юза, де він розповідає про Ерланга та Хаскелла, він має сказати про використання значних бібліотек в Ерланге: Якщо я хочу використовувати бібліотеку, що склалася, я зазвичай будую поверх неї інтерфейс без побічних ефектів, щоб потім міг безпечно використовувати її в решті свого коду. Що він розуміє під …

5
Як створити масштабні та побічні тести на безкоштовну інтеграцію?
У моєму поточному проекті мені важко придумати хороше рішення для створення масштабованих тестів на інтеграцію, які не мають побічних ефектів. Невелике уточнення щодо побічних властивостей вільної дії: йдеться переважно про базу даних; після завершення тестів не повинно бути ніяких змін у базі даних (стан повинен зберігатися). Можливо, масштабність та збереження …

3
Походження "методу має повернути значення або мати побічні ефекти, але не обидва"
Одного разу я прочитав, що метод повинен або мати повернене значення (і бути референтно прозорим), або мати побічні ефекти, але не обидва. Я не можу знайти жодних посилань на це правило, але хочу дізнатися більше про нього. Яке походження цієї поради? З якої людини чи громади вона виникла? Додатковий кредит: …

3
Побічні ефекти, що порушують референтну прозорість
Функціональне програмування в Scala пояснює вплив побічного ефекту на порушення референтної прозорості: побічний ефект, який передбачає деяке порушення референсної прозорості. Я прочитав частину SICP , в якій обговорюється використання „моделі заміщення” для оцінки програми. Оскільки я приблизно розумію модель заміщення з референтною прозорістю (RT), ви можете декомпонувати функцію в її …

4
Чи коли-небудь добре, що за умови, що має побічні ефекти? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 5 років тому . Я беру курс проміжних структур даних як передумову для вступу до програми MS MS …

2
Код тестування побічних ефектів - важкий код
Я починаю писати код C ++, щоб запустити робота, і не знаю, як включити тестування одиниць, якщо дійсно можу. Мені була надана бібліотека, яка дозволяє створювати "команди" для роботи, які автоматично плануються та виконуються. Механізм створення цих команд є підклас команди базового класу вони надають, і здійснювати віртуальну void Initialize(), …

2
Де ми ставимо код «запитуючи світ», коли ми розмежовуємо обчислення від побічних ефектів?
Відповідно до принципу розділення команд-запитів , а також мислення в даних і DDD з презентаціями Clojure слід відокремлювати побічні ефекти (модифікуючи світ) від обчислень та рішень, щоб було легше зрозуміти і перевірити обидві частини. Це залишає без відповіді питання: де відносно кордону слід поставити "запитання світу"? З одного боку, запит …

2
Чи забороняють функціональні мови програмування побічні ефекти?
Згідно з Вікіпедією, функціональні мови програмування , які є деклараційними, вони забороняють побічні ефекти. Декларативне програмування в цілому намагається мінімізувати або усунути побічні ефекти. Також, за даними Вікіпедії, побічний ефект пов’язаний зі змінами стану. Отже, мови функціонального програмування, в цьому сенсі, вони фактично усувають побічні ефекти, оскільки вони не рятують …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.