Магія (програмування): відмінності між версіями

[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
Eletskiy V (обговорення | внесок)
Eletskiy V (обговорення | внесок)
Рядок 3:
 
== Туманні посилання ==
«Магія» відноситься до [[процедура | процедур]], які роблять розрахунки, на даних які не були чітко надані їм, шляхом доступу до інших модулів, позицій пам'яті або глобальних [[змінна (програмування) | змінних]], яких вони очікують, (іншими словами, вони не є [[Посилальна прозорість (інформатика){{не перекладено| референціально прозорими]]|||Referential transparency (computer science)}}). За останньою [[архітектура програмного забезпечення | моделлю архітектури програмного забезпечення]], навіть при використанні [[структурне програмування| структурного програмування]], зазвичай переважно, щоб кожна функція поводила себе таким же чином, кожен раз, коли їй передаються одні і ті ж аргументи, таким чином, виконуючи один з основних принципів [[функціональне програмування| функціонального програмування]]. Коли функція порушує це правило, часто говорять, що вона містить «магію».
{{Основна стаття | Referential transparency (computer science)}}
«Магія» відноситься до [[процедура | процедур]], які роблять розрахунки, на даних які не були чітко надані їм, шляхом доступу до інших модулів, позицій пам'яті або глобальних [[змінна (програмування) | змінних]], яких вони очікують, (іншими словами, вони не є [[Посилальна прозорість (інформатика) | референціально прозорими]]). За останньою [[архітектура програмного забезпечення | моделлю архітектури програмного забезпечення]], навіть при використанні [[структурне програмування| структурного програмування]], зазвичай переважно, щоб кожна функція поводила себе таким же чином, кожен раз, коли їй передаються одні і ті ж аргументи, таким чином, виконуючи один з основних принципів [[функціональне програмування| функціонального програмування]]. Коли функція порушує це правило, часто говорять, що вона містить «магію».
 
Спрощений приклад поганої магії у коді на [[PHP]]: