सरल उत्तर यह है कि यदि आपके पास चिंता करने के लिए अतिरिक्त स्थिति नहीं है, तो आपका कोड कारणों के लिए आसान है। सरल कोड बनाए रखना आसान है। आपको इसे संशोधित करने के लिए कोड के किसी विशेष भाग (फ़ंक्शन की तरह) के बाहर चीजों के बारे में चिंता करने की आवश्यकता नहीं है। परीक्षण की तरह चीजों के लिए यह वास्तव में उपयोगी ramifications है। यदि आपका कोड कुछ राज्य पर निर्भर नहीं है, तो उस कोड के लिए स्वचालित परीक्षण बनाना बहुत आसान हो जाता है, क्योंकि आपको कुछ राज्य आरंभ करने की चिंता करने की आवश्यकता नहीं है।
स्टेटलेस कोड होने से थ्रेड किए गए प्रोग्राम भी आसान हो जाते हैं, क्योंकि आपको निष्पादन के दो धागे को एक ही समय में डेटा के साझा टुकड़े को संशोधित/पढ़ने के बारे में चिंता करने की आवश्यकता नहीं है। आपके धागे स्वतंत्र कोड चला सकते हैं, और यह विकास के समय के भार को बचा सकता है।
अनिवार्य रूप से, राज्य से परहेज करना सरल कार्यक्रम बनाता है। एक तरह से, वहां "चलने वाले हिस्सों" कम होते हैं (यानी, कोड की तरीके लाइनों पर बातचीत कर सकते हैं), इसलिए इसका सामान्य अर्थ यह होगा कि कोड अधिक विश्वसनीय है और इसमें कम दोष हैं। असल में, सरल कोड, कम गलत हो सकता है। मेरे लिए यह राज्य-कम कोड लिखने का सार है।
स्टेटलेस, "कार्यात्मक" कोड बनाने के कई अन्य कारण हैं, लेकिन वे सभी मेरे लिए सादगी के लिए उबालते हैं।
शायद उल्लेख करना चाहिए कि समरूपता सही तरीके से करना आसान है? – ebaxt
हां, इसे जोड़ा गया। धन्यवाद। :) – Oleksi
+1। ठीक है, ओलेक्सी। –