Sobes.tech
Middle

რის შემთხვევებში ფუნქციები წმინდა ვერ იქნებიან?

sobes.tech AI

პასუხი AI-სგან

Ֆունկցիաները չեն կարող լինել մաքուր, եթե.

  • Դրանք ունեն կողմնակի ազդեցություններ՝ փոխում են արտաքին վիճակը (օրինակ՝ փոփոխում են գլոբալ փոփոխականները, DOM-ը, կատարում են սերվերի հարցումներ):
  • Զависում են արտաքին փոփոխվող տվյալներից՝ եթե ֆունկցիայի արդյունքը կախված է նրա պարամետրերից դուրս գտնվող վիճակից, այն մաքուր չէ:
  • Օգտագործում են պատահական արժեքներ կամ ընթացիկ ժամանակը՝ նույն մուտքային տվյալներով տարբեր արդյունքներ են տալիս:
  • Կատարում են մուտք-արտահոսքի գործողություններ, օրինակ՝ ֆայլեր կարդալ կամ օգտվողի հետ փոխազդել:

Օրինակ, ֆունկցիա, որը փոխում է կոմպոնենտի վիճակը կամ կանչում է API, չի կարող լինել մաքուր: Մաքուր ֆունկցիաները հեշտ է փորձարկել և կանխատեսել, այդ պատճառով ֆունկցիոնալ ծրագրավորման մեջ փորձում ենք դրանք առավելագույնը օգտագործել։