एक टिप्पणी में "TILT" का क्या अर्थ है?


9

मैं रॉबर्ट सी। मार्टिन द्वारा क्लीन कोड पढ़ रहा हूं , और वाक्यांश TILTअनावश्यक रूप से कुछ कोड नमूनों में दिखाई देता है। उदाहरण (यह जावा में है, वैसे):

    ...
    public String errorMessage() {
      switch (status) {
        case ErrorCode.OK:
          // TILT - Should not get here.
          return "";
        case ErrorCode.UNEXPECTED_ARGUMENT:
          return "Unexpected argument";
        case ErrorCode.MISSING_ARGUMENT:
          return "Missing argument";
        ...
    }
    ...

संदर्भ से, मैं अनुमान लगा रहा हूं TILTकि एक ऐसा राज्य है जो अनुपलब्ध है और केवल संकलक को संतुष्ट करने के लिए शामिल है (उदाहरण के लिए, उपरोक्त कोड TILTमें, ErrorCode.OKमामले में प्रकट होता है क्योंकि राज्य होने पर कोई त्रुटि संदेश नहीं होना चाहिए OK), लेकिन मुझे यकीन नहीं है।

क्या किसी को पता है कि TILTइसका मतलब क्या है?


1
संभवतः गेमिंग
rwong

9
यह संभवतः पिनबॉल झुकाव को संदर्भित करता है, न कि पोकर झुकाव को।
तेलस्तीन

जवाबों:


13

भौतिक पिनबॉल मशीनों में सेंसर होते हैं जो यह पता लगाते हैं कि बाहर की कोई चीज़ मशीन को कुतरने या झुकाकर गेंद के मार्ग को बहुत अधिक प्रभावित करने की कोशिश कर रही है। (मैं यहां बहुत ज्यादा कहता हूं क्योंकि पिनबॉल में मोशन की एक निश्चित परंपरा होती है, विशेषकर जब गेंद किसी चीज पर टिक जाती है।) जब मशीन झुकी हुई अवस्था में जाती है, तो ऐसा कुछ भी जो खिलाड़ी को अधिक अंक दिला सकता है। तब तक विकलांग होता है जब तक गेंद टेबल के नीचे से नहीं गिरती। यह आमतौर पर खेल पर "झुकाव" प्रकाश और कभी-कभी एक चेतावनी बजर के साथ होता है। इसे एक अपवाद बढ़ाने के बराबर पिनबॉल के रूप में सोचें।

मार्टिन का रूपक इसलिए तनावपूर्ण है क्योंकि ErrorCode.OKसंभवतः, एक मान्य statusऔर कुछ ऐसा नहीं है जो फ़ंक्शन को कुछ ऐसा करने के लिए मजबूर करने की कोशिश करता है जो उसे नहीं करना चाहिए। दूसरे शब्दों में, वह इनपुट किसी लापता तर्क के लिए त्रुटि संदेश वापस करने के लिए फ़ंक्शन प्राप्त करने का प्रयास नहीं कर रहा है।


इसका बाकी हिस्सा आपके सवाल का जवाब नहीं देता है, लेकिन यह आपको बाकी किताब को आलोचनात्मक नज़र से पढ़ने का कारण दे सकता है। मेरे पास यह देखने के लिए पुस्तक तक पहुंच नहीं है कि क्या उस उदाहरण के आसपास का पाठ कोई हाथ से लहराता है, लेकिन यदि नहीं, तो विधि उन चीजों को करती है जो शीर्षक तक नहीं रहते हैं:

पहला यह है कि यह असाधारण रूप से अमान्य इनपुट या स्थिति को एक असाधारण स्थिति नहीं मानता है और इसके बारे में शिकायत नहीं करता है। यदि विधि का दस्तावेज़ीकरण कहता है कि इसे केवल तब बुलाया जाना चाहिए जब ऑब्जेक्ट statusकिसी त्रुटि स्थिति में है, तो यह स्पष्ट रूप से कॉलिंग कोड में एक तर्क समस्या है जिसे ठीक करने की आवश्यकता है।

दूसरा यह है कि यह एक स्ट्रिंग लौटाता है जो दूसरों के समान ही मान्य है लेकिन प्रभावी रूप से जादू की तरह काम करता है। एक कॉलर जो यह जानना चाहता है कि क्या विधि को लागू करना एक गलती थी, रिटर्न वैल्यू की सामग्री को जांचना होगा या इसे पढ़ने के लिए मानव को इसे समझने के लिए इसे पास करना होगा (जैसे, Operation result:कोई अतिरिक्त जानकारी नहीं)।

एक वैकल्पिक तीसरा यह होगा कि यदि संकलक गणना किए गए मानों की पूर्ण कवरेज की अपेक्षा करता है, defaultतो अन-कवर किए गए मामलों को पकड़ने के लिए उपयोग करना व्यक्तिगत रूप से या समूह में उनकी गणना करने की तुलना में बहुत अधिक पठनीय है। (फ़िलप पक्ष यह है कि संकलक को शिकायत करने देना बेहतर हो सकता है ताकि एक दूसरे, गैर-त्रुटि स्थिति को जोड़ने से प्रोग्रामर को स्पष्ट रूप से घोषित करने के लिए मजबूर किया जाए कि इसे कैसे संभाला जाना चाहिए।)


2
मेरे पास क्लीन कोड की मेरी कॉपी नहीं है, लेकिन आप एक चौथी संभावना से चूक गए: कि यह विधि अपवाद वस्तु की तरह कुछ के लिए एक पठनीय त्रुटि संदेश उत्पन्न करने के लिए सिर्फ एक सहायक कार्य है, जो इसे पूरी तरह से उचित बना देगा। , बिना किसी "हाथ लहराए" की आवश्यकता है।
डॉक्टर ब्राउन

@DocBrown यह एक उचित बिंदु है, हालांकि आश्चर्य की अगली बात यह होगी कि क्यों एक अपवाद वस्तु खुद को एक गैर-असाधारण स्थिति के साथ निर्माण करने की अनुमति देती है।
१०:१२ बजे ब्लरफ्ल

2
FYI करें: क्लासिक टिल्ट सेंसर एक धातु का पेंडुलम था जिसे धातु की अंगूठी के अंदर स्वतंत्र रूप से स्विंग करने की अनुमति थी। मशीन को उछालने से पेंडुलम का स्विंग बढ़ जाता है, और अगर यह रिंग के साथ विद्युत संपर्क बनाता है, तो आप उस गेंद को खो देते हैं। कुछ समय के लिए मशीन को टकराकर झूलते हुए नीचे गिरने की अनुमति दी जाएगी। पेंडुलम खिलाड़ी को दिखाई नहीं दे रहा था: आपको बस ट्रायल-एंड-एरर से सीखना था कि मशीन कितना उछाल मारती है।
सोलोमन स्लो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.