Middle
რის შემთხვევებში ფუნქციები წმინდა ვერ იქნებიან?
sobes.tech AI
პასუხი AI-სგან
Ֆունկցիաները չեն կարող լինել մաքուր, եթե.
- Դրանք ունեն կողմնակի ազդեցություններ՝ փոխում են արտաքին վիճակը (օրինակ՝ փոփոխում են գլոբալ փոփոխականները, DOM-ը, կատարում են սերվերի հարցումներ):
- Զависում են արտաքին փոփոխվող տվյալներից՝ եթե ֆունկցիայի արդյունքը կախված է նրա պարամետրերից դուրս գտնվող վիճակից, այն մաքուր չէ:
- Օգտագործում են պատահական արժեքներ կամ ընթացիկ ժամանակը՝ նույն մուտքային տվյալներով տարբեր արդյունքներ են տալիս:
- Կատարում են մուտք-արտահոսքի գործողություններ, օրինակ՝ ֆայլեր կարդալ կամ օգտվողի հետ փոխազդել:
Օրինակ, ֆունկցիա, որը փոխում է կոմպոնենտի վիճակը կամ կանչում է API, չի կարող լինել մաքուր: Մաքուր ֆունկցիաները հեշտ է փորձարկել և կանխատեսել, այդ պատճառով ֆունկցիոնալ ծրագրավորման մեջ փորձում ենք դրանք առավելագույնը օգտագործել։