टाइपिंग संकेत हमारी कंपनी (ज्यादातर जावा लोग इसे) पर बहस का मुद्दा है, और मैं एक बहुत पुराना स्कूल PHP प्रोग्रामर (और अन्य भाषाओं में प्रोग्राम) हूं।
मेरी सलाह प्रकार हिंट करने से बचने के लिए और प्रत्येक जटिल समारोह में ट्राई/कैच संचालकों शामिल करने के लिए है।
प्रकार हिंट कॉल अपवाद संचालन पर्यावरण जो सामान्य बुरा है और untested चला जाता है, प्राथमिक समस्या पर भरोसा करने के लिए एक आवेदन बाध्य करती है। वेब ऐप्स के लिए, इसका परिणाम मौत की सफेद स्क्रीन में होता है, बैच के लिए यह ज्यादातर मामलों में अच्छे संदेशों को लॉग किए बिना केवल घातक निकास में पड़ता है, और आप अपने सिर को स्क्रैच करते हुए उपयोगकर्ता या एप्लिकेशन समस्या को फिर से बनाने की कोशिश कर रहे हैं जो प्रबंधन आपके ऊपर है हल करने के लिए वापस।
स्थानीय अपवाद हैंडलिंग डेटा मानों में डेटा प्रकारों और कचरे में कचरा सहित अधिक नियंत्रित परीक्षण परिदृश्य प्रदान करता है, जो गलत में गुजरकर कॉलर में अपवाद हैंडलिंग पथ का परीक्षण करने में मुश्किल से अधिक पूर्ण परीक्षण सूट देता है अपवाद टाइप करें और उम्मीद करें।
स्टैक संस्करण समस्याओं के कारण अपवाद परीक्षण कई मामलों में भी विफल रहता है (यानी PHP के कुछ संस्करणों को 5.4 "उचित घातक" त्रुटियों को उचित तरीके से नहीं पकड़ते हैं और ergo phpunit बस परीक्षण सूट तोड़ने से मर जाता है। यह एक ढेर है विशिष्ट समस्या, हालांकि मेरे अनुभव प्रकार में संकेत केवल अनावश्यक है, जो लोग टाइप की गई भाषा में उपयोग किए जाते हैं, उन्हें प्रभाव को महसूस किए बिना PHP को बेहतर स्वीकार करते हैं, और अधिक जटिल परीक्षण परिदृश्यों का कारण बनता है (अपवाद पथ परिणामों को संभालने वाले कॉलर्स का परीक्षण करना बहुत मुश्किल होता है)।
जावा और अन्य टाइप की गई भाषा लोग PHP में डिफ़ॉल्ट मिश्रित प्रकार पैरामीटर से लाभ उठाने और लाभ लेने के बारे में स्वीकार नहीं कर रहे हैं या समझ रहे हैं ... वे किसी दिन सीखेंगे लेकिन केवल तभी PHP रास्ता गले लगाओ। ;-)
मजबूत PHP यूनिट आधारित परीक्षण परिदृश्यों को विकसित करते समय सर्वश्रेष्ठ पाठ सीखे जाते हैं, और सामान्य रूप से प्रकाश डालने पर प्रकाश डालने का कारण क्यों होता है, और परीक्षण से संबंधित बट में दर्द क्यों होता है, और अच्छे से ज्यादा समस्या का कारण बनता है ... प्रत्येक के लिए, और मेरे ऐप्स बेहतर और अधिक भरोसेमंद चलते हैं और आम तौर पर स्थानीय कार्यों में पकड़ पथ सहित 100% कोड कवरेज के साथ परीक्षण अधिक पूर्ण हो जाते हैं।
स्रोत
2016-07-21 13:17:36
ठीक है, मैं सहमत हूं। मुझे लगता है कि सख्त अनुबंध किसी भी तरह से प्रारंभिक रूप से बतख-टाइप की गई भाषा के लिए विदेशी हैं। PHP पहले से ही बदसूरत है, और टाइपिंग संकेत यह असंबंधित विशेषताओं के ढेर की तरह दिखता है। –
मुझे पता नहीं, PHP बढ़ रहा है (ओओपी)। जटिल डेटा प्रकारों के लिए सख्त इंटरफेस मुझे समझ में आता है। – Mario
इसके अलावा, आप दोनों दुनिया के सर्वश्रेष्ठ प्राप्त करते हैं, सख्तता को परिभाषित करते हैं जहां यह महत्वपूर्ण है, या नहीं, और छोटी चीजें गतिशील छोड़ दें। – Mario