2012-07-20 8 views
8

मैं अपने पर्ल कोड का परीक्षण करने के लिए निम्न आदेश का उपयोग कर रहा:क्या कोई मॉड्यूल है जो मुझे बेहतर कोड लिखने में मदद करने के लिए याद आ रही है?

पर्ल -MB :: एक प्रकार का वृक्ष :: StrictOO -MO = एक प्रकार का वृक्ष, सभी, ऊ -M-परिपत्र :: -M-अप्रत्यक्ष -Mwarnings आवश्यकता होती है: : विधि -Mwarnings :: unused -c $ फ़ाइल

5.10 से कम एक पर्ल संस्करण वाला सिस्टम पर मैं अनिनिट का भी उपयोग कर रहा हूं।

मैं पर्ल :: क्रिटिक और पर्ल :: टिडी का भी उपयोग कर रहा हूं और मेरी पसंद के लिए उचित आरसी फाइलें स्थापित कर चुका हूं।

इन मॉड्यूल ने मुझे कुछ बुरी आदतों को तोड़ने में मदद करने में बहुत अच्छा काम किया है जब मैंने पहली बार सीखना सीखा था।

क्या कोई और मॉड्यूल या pragmas हैं जो मुझे गड़बड़ करते समय सीधे और संकीर्ण पर लात मार देंगे?

परीक्षणों का उपयोग, और टेस्ट :: * मॉड्यूल के परिवार और कुछ अच्छी किताबों की ओर इशारा किया गया है। इस नई जानकारी ने मुझे परीक्षण और कोड कौशल निर्माण के बीच संबंधों के बारे में कुछ धारणाओं पर पुनर्विचार करने का कारण बना दिया है। इन सभी की सराहना की जा रही है और पहले से ही शोध किया जा रहा है और उपयोग करने के लिए रखा जा रहा है।

ऐसा लगता है कि ये पूरे के दो अलग-अलग हिस्से हैं। 'perl -c', पर्ल :: आलोचक और पर्ल :: कोड लिखने की प्रक्रिया और कोड के निष्पादन से पहले सभी मदद करते हैं। डेवेल :: कवर, डेवेल :: एनवाईटीपीआरओफ़ और टेस्ट कोड के निष्पादन के दौरान और बाद में होते हैं।

अच्छा विकास एक पुनरावृत्ति प्रक्रिया को निर्देशित करता है, इसलिए परीक्षण चलाए जाएंगे, और कोड विकसित हो जाएगा, लेकिन हमारे पास अभी भी यह अलगाव है।

ऐसा लगता है कि उत्तर में फोकस कोड के निष्पादन के दौरान और बाद में किया गया है। फिर, यह बहुत सराहना की है। क्या मैं मान सकता हूं कि मेरे पास 'लेखन और पूर्व निष्पादन' भाग बहुत अच्छा है? कम से कम, जैसे pragmas, मॉड्यूल और उपयोगिताओं का संबंध है।

+2

टेस्ट के आसपास अपना रास्ता सीखने का समय हो सकता है :: अधिक यदि आपने पहले से ऐसा नहीं किया है। अपने लक्ष्य कोड से पहले परीक्षण लिखने के लिए स्वयं को प्रशिक्षण देना आपको छोटे, अधिक प्रबंधनीय और अक्सर अधिक सामान्य हिस्सों में कोड करने के लिए प्रोत्साहित करेगा। और बेहतर कोड की एक परिभाषा कम छोटी गाड़ी है, तो अपने कोड का परीक्षण करने के लिए बेहतर कोड का नेतृत्व करना है। कई टेस्ट :: * मॉड्यूल बिना किसी प्रयास के अतिरिक्त चेक प्रदान करते हैं। – DavidO

+0

मैं मॉड्यूल की टेस्ट :: श्रृंखला का बहुत उपयोग करता हूं ... मैंने अपने कोडिंग कौशल में सुधार करने के तरीके के रूप में परीक्षण नहीं माना था। जब भी संभव हो मैं डिस्टज़िला का उपयोग करता हूं और यह परीक्षणों का उपयोग बहुत आसान बनाता है, जिसका मैं लाभ उठाता हूं। ऐसा लगता है कि मुझे वापस जाने और एक नई रोशनी में टेस्ट :: मॉड्यूल का मूल्यांकन करना शुरू करना है। – harleypig

+0

वहां कुछ वाकई अच्छी किताबें भी हैं। उच्च आदेश पर्ल। आधुनिक पर्ल। (दोनों मुफ्त ऑनलाइन उपलब्ध हैं, वैध रूप से।) कई अन्य हैं, लेकिन वे दोनों पर्ल के लिए एक प्रबुद्ध दृष्टिकोण सीखने के लिए अच्छी किताबें हैं। – DavidO

उत्तर

4

मुझे थोड़ा चिंता है कि आप पर्ल 5.9 का उपयोग कर रहे हैं। दो कारणों से।

सबसे पहले यह थोड़ा पुराना है। 5.9.0 को 2003 में जारी किया गया था और 5.9.5 (5.9.एक्स श्रृंखला में अंतिम संस्करण) 2007 में जारी किया गया था। तब से पर्ल के कई उच्च गुणवत्ता वाले संस्करण रहे हैं।

दूसरा (और सबसे महत्वपूर्ण बात), 5.9 पर्ल का एक अस्थिर विकास संस्करण है। 5.9 मूल रूप से उन प्रयोगों की श्रृंखला है जो अंततः पर्ल 5.10.0 तक पहुंच गईं। इसका उपयोग करने का एकमात्र कारण यह है कि 5.10 पर्ल का एक स्थिर संस्करण होगा। किसी को भी इसका इस्तेमाल नहीं करना चाहिए।

+0

:] मैं मानता हूं, कोई भी * 5.10 से कम कुछ भी नहीं होना चाहिए ... शायद 5.14 ... हालांकि क्या होना चाहिए और आम तौर पर दो अलग-अलग चीजें क्या होती हैं। मैं विरासत कोड पर बहुत काम करता हूं। मेरे द्वारा काम किए जाने वाले कुछ सर्वर अभी भी 5.004 का उपयोग कर रहे हैं। – harleypig

+0

दाएं। मैं (बस) समझ सकता हूं कि आप पर्ल के दर्दनाक प्राचीन संस्करण का उपयोग क्यों कर रहे हैं। लेकिन मुझे समझ में नहीं आ रहा है कि आप एक अस्थिर विकास संस्करण का उपयोग क्यों करेंगे। –

+0

मेरी माफ़ी ... मैं कहीं भी 5.9 का उपयोग नहीं कर रहा हूं जिसके बारे में मुझे पता है ... जब मैंने शोध किया कि 5.14 के साथ एक बॉक्स पर अनिनिट क्यों विफल रहा था, मुझे पता चला कि 5.in में अनिनिट हटा दिया गया था। कोड जो '$] <5.010' के लिए कमांड जांचता है, इसलिए मुझे लगता है कि 'कुछ भी 5.9 और नीचे' लगता है। उस पर भ्रम के लिए खेद है। – harleypig

2

आप अपने कोड का परीक्षण नहीं कर रहे हैं, केवल जांच कर रहे हैं कि यह संकलित होगा। मेरा सुझाव है कि आप टेस्ट :: मोर (जो वास्तविक परीक्षणों को अच्छे और आसान लिखते हैं) देखें, टेस्ट :: क्लास (जो बहुत बड़े परीक्षण सूट से निपटने में आसान बनाता है), और डेवेल :: कवर (यह देखने के लिए कि आपके कोड के कौन से बिट्स हैं आपके परीक्षणों से ढके हुए हैं और जो नहीं हैं)।

+0

जब भी संभव हो मैं अपने कोड का परीक्षण कर रहा हूं। मैंने इसे अपने कोडिंग कौशल में सुधार करने का हिस्सा नहीं माना था। मैं अब एक अलग प्रकाश में मॉड्यूल के टेस्ट :: परिवार को देख रहा हूं। – harleypig

+0

मैं कहूंगा कि यदि आपके कोड का परीक्षण करना कभी असंभव है (जो आपको जब भी संभव हो परीक्षण द्वारा निहित किया जाता है) तो आपको इसे * बनाना * संभव बनाना चाहिए! मुझे एहसास है कि यह हमेशा व्यावहारिक नहीं है - उदाहरण के लिए यदि आप कुछ बाहरी सेवाओं से बात कर रहे हैं - लेकिन ऐसा कुछ है जो आपको हमेशा करना चाहिए। यदि आपको एक अवांछित बाहरी इंटरफ़ेस से निपटना है, तो कोड को अपने शेष एप्लिकेशन से बातचीत करने के लिए अलग करने पर विचार करें, ताकि आप उस इंटरफ़ेस का नकल कर सकें और कम से कम जितना संभव हो सके परीक्षण कर सकें। और आपको वास्तव में डेवेल :: कवर देखना चाहिए। उसने अतीत में अपना काम बचा लिया है। – DrHyde

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