इडियट-प्रूफिंग में सरल इनपुट सत्यापन की तुलना में बहुत अधिक शामिल है। मैं इस तरह की बात को अपनी परिभाषा में शामिल नहीं करूंगा।
इनपुट सत्यापन एक ऐसी प्रक्रिया है जहाँ आप अवैध / निरर्थक मूल्यों को समाप्त करने के लिए उपयोगकर्ता डेटा को पवित्र और मान्य करते हैं। यह हमेशा आपके कार्यक्रम के बाहर से आने वाली किसी भी जानकारी के साथ किया जाना चाहिए ताकि स्पष्ट को खत्म करने के साथ-साथ खुद को हमलों से बचाया जा सके (जैसे कि एसक्यूएल इंजेक्शन हमले)।
मैं बेवकूफ-प्रूफिंग को तर्क का एक सेट मानूंगा, जिससे उपयोगकर्ता को गलती से उससे नुकसान हो सकता है / अन्यथा कानूनी साधनों के माध्यम से खुद को नुकसान पहुँचा सकता है।
उदाहरण के लिए, rmकमांड को अस्वीकार करने rm -rf /और करीबी वेरिएंट का सत्यापन या शुद्धता से कोई लेना-देना नहीं है। यह पूरी तरह से मान्य कमांड है। दुर्भाग्य से, यह एक कमांड है जो आपके सभी डेटा को यूनिक्स / लिनक्स में आपके सभी डेटा से मिटा सकता है। इडियट प्रूफिंग इस कमांड को अस्वीकार कर देगा और सुझाव देगा rm -rf --i-really-mean-this /, या यदि इंटरेक्टिव मोड में है, तो चेतावनी के बाद सकारात्मक प्रतिक्रिया में उपयोगकर्ता का प्रकार होगा।
जो कुछ भी सिस्टम के लिए विनाशकारी है उसे बेवकूफ-प्रूफ किया जाना चाहिए। जो कुछ भी संभावित शर्मिंदगी का कारण हो सकता है वह भी एक उम्मीदवार हो सकता है (जैसे "क्या आप सुनिश्चित हैं कि आप इस ईमेल को अनुलग्नक के बिना भेजना चाहते हैं, भले ही आपने अपने पाठ में एक का उल्लेख किया हो?", और "क्या आप वाकई इस ईमेल को भेजना चाहते हैं? पूरी कंपनी? ")
इडियट-प्रूफिंग QA (सर्वश्रेष्ठ बेवकूफ बनने की कोशिश) और विकास (इन सभी परिदृश्यों और उनके आसपास डिजाइन करने की आशा करने की कोशिश) के बीच एक सहयोग है।
अधिक अनुकूल पर्यायवाची के रूप में, क्या मैं "विनाशकारी कोड-पथ विश्लेषण" या "महत्वपूर्ण कार्यों के लिए उपयोगकर्ता प्रतिक्रिया सक्षम करने" का सुझाव दे सकता हूं। जो कुछ भी आप इसे कॉल कर सकते हैं, आपको वास्तव में इसे जल्द से जल्द डिजाइन प्रक्रिया में शुरू करना चाहिए।