2012-07-11 11 views
5

अब मैं लिफ्ट सीख रहा हूं। जब मैं टेम्पलेट्स के बारे में पढ़ा, मैं समझ गया कि वे बहुत कुछ है जो संकलन समय में typechecked नहीं कर रहे हैं कि:लिफ्ट और टाइप सुरक्षा

  • टेम्पलेट्स गैर विद्यमान के टुकड़े के लिए संदर्भ
  • साइटमैप गैर मौजूद पृष्ठों
  • भी दिखाई दे सकता शामिल हो सकता है
  • स्निपेट प्रेषण तरीकों जहाँ हम आसानी से एक टाइपो

कर सकते हैं स्ट्रिंग पैरामीटर लेने वहाँ रहे हैं किसी भी जो भी ऐसा ही करने की अनुमति होगी पुस्तकालय में इस समस्याओं कम गंभीर बनाने के लिए विकल्प, यानी बाहरी कोड चेकर या विकल्पों एक प्रकार में लेकिन सुरक्षित तरीका? या हो सकता है कि एक और वेब ढांचा है जो इस संबंध में अधिक सख्त है (अन्य भाषा में हो सकता है)।

+0

मेरा मानना ​​है कि ज्यादातर मामलों के लिए, regexp- आधारित सत्यापनकर्ता लिखना आसान हो सकता है। लेकिन जब ऐसी कोई बात नहीं है, तो आप अपने कोड का परीक्षण करने का प्रयास कर सकते हैं - उचित परीक्षण उन सभी त्रुटियों को पकड़ लेना चाहिए। – Rogach

उत्तर

1

टाइप चेकिंग स्कैला या जावा जैसे दृढ़ टाइप की गई भाषाओं की एक संकलित समय सुविधा है जो हस्ताक्षरों और प्रकारों के बीच संबंधों के सत्यापन की अनुमति देती है। इस तरह के चेक आपको केले प्रकार के पैरामीटर को पार करने से रोकेंगे जब मांस के प्रकार के पैरामीटर की अपेक्षा की जाती है, या टाइप इंट के चर के लिए एक स्ट्रिंग असाइन करने के लिए। आम तौर पर, रूबी या जावास्क्रिप्ट जैसी गतिशील भाषाओं में, यह संभव नहीं है

आप जो देख रहे हैं एक प्रकार का चेकर नहीं है। आप यह सत्यापित नहीं करना चाहते हैं कि आपका प्रोग्राम सिंटेक्टिक रूप से सही है, बल्कि यह सही तरीके से व्यवहार करता है, और उसके लिए समाधान को स्वचालित परीक्षण कहा जाता है।

आप पूरी तरह से कोड है जो वाक्य रचना सही है लिखने में सक्षम हैं, लेकिन गलत व्यवहार कर:

public boolean isTrue(boolean value){ 
     return !value; 
} 

आप इसे दूसरी तरह के आसपास लगता है, तो आप कैसे एक संकलन समय एक टेम्पलेट की सत्यता का परीक्षण होगा जो कुछ डेटा से भरने की जरूरत है?

<!-- importing a snippet depending on the value of a variable --> 
<import src="${snippetName}.xml"/> 

आप नहीं कर सकते हैं, क्योंकि संकलन समय पर आपके सभी चर बिल्कुल सटीक नहीं हैं। यही कारण है कि स्वचालित परीक्षण महत्वपूर्ण है और आपके आवेदन के लिए टेस्ट केस लिखना संकलन-समय जांच द्वारा प्रतिस्थापित नहीं किया जा सकता है।

+2

मेरे लिए, टाइपशेकिंग संकलन समय पर त्रुटियों को ढूंढने के बारे में है। और लिफ्ट में चेक की जाने वाली कई चीजें सिद्धांत में जांच की जा सकती हैं। –

+0

टाइपशेकिंग का वर्णन यहां किया गया है: http://en.wikipedia.org/wiki/Type_system। आप स्थैतिक कोड विश्लेषण का जिक्र कर रहे हैं, जैसा कि आपने कहा है कि कुछ रनटाइम त्रुटियों को संकलन-समय त्रुटियों में बदल सकते हैं। हालांकि, एक स्थिर कोड विश्लेषक लिखना मुश्किल नहीं है, इसे आजमाएं ... – Edmondo1984

+2

टाइप चेकिंग स्थिर विश्लेषण का हल्का रूप है। Konstantin क्या चाहता है काफी व्यवहार्य है। –

संबंधित मुद्दे