2009-03-13 14 views
7

मानक पुस्तकालयों में अभी भी इतने सारे लोग चीजों के क्रैपी संस्करण क्यों लिख रहे हैं? PHP डेवलपर्स के बाद नहीं जाना है, लेकिन लोग PHP SPLहम खुद को लिखने से पहले मौजूदा कार्यों को देखने के लिए कोडर कैसे प्राप्त करते हैं?

+0

+1। यह एक गंभीर समस्या है, मेरी इच्छा है कि मेरा जवाब हो। – AnthonyWJones

+3

एसपीएल अभी भी दस्तावेज़ीकरण का एक बहुत अस्पष्ट हिस्सा है। असल में यह भी दस्तावेज है कि यह अपूर्ण है। –

+2

खराब दस्तावेज सेकेंडिंग। – bdd

उत्तर

6

बेहतर खोज तकनीकें। और डोमेन विशिष्ट परिचितता

डेवलपर किसी फ़ंक्शन के लिए कैसे जांच करता है जिसे वे नाम नहीं जानते हैं? या शायद वे जो भी चाहते हैं, करने के लिए फ़ंक्शन में निर्मित एक सटीक नहीं है, लेकिन कुछ कोड सहेजने के लिए वे कुछ उपयोग कर सकते हैं। आपको समस्या के लिए सही शब्दावली खोजने में सक्षम होना चाहिए, और वहां से आप जानते हैं कि क्या खोजना है। यह आपकी समस्या डोमेन के लिए विशिष्ट विषयों को पढ़कर सबसे अच्छा है। विशिष्ट संसाधनों को कोडिंग से दूर रहें और उस क्षेत्र में कुछ समय बिताएं जिसके लिए आप कोडिंग कर रहे हैं ... गीलेर यह खुदरा, चिकित्सा, बीमा इत्यादि है।

+0

इस दिन और उम्र में, चीजों को नहीं देख सकते हैं, विकिपीडिया पर कुछ भी शोध कर सकते हैं या जो कुछ भी हो, उचित शब्दावली खोजें, और Google खोज चलाएं? पहिया को फिर से आविष्कार करने में कम समय लगता है। –

+0

समस्या यह जानती है कि आपके पास पहली जगह उचित शब्दावली नहीं है। –

+0

सहमत हुए, मेरी पहली सोच किसी समस्या को हल करते समय Google के समान कुछ भी है; दुर्भाग्य से, googles सही नहीं है, लेकिन अगर यह अस्तित्व में है तो मुझे आमतौर पर कुछ मिल सकता है (दिया गया है, अगर मुझे यह नहीं मिला तो मुझे पता नहीं है कि यह अस्तित्व में है, लेकिन, ठीक है, हाँ, विरोधाभास) – zaczap

11

पीयर समीक्षा उस तरह की चीज़ को पकड़ने में मदद कर सकते हैं। यदि आपके पास कोड को देखने वाला कोई अन्य डेवलपर है, और वे लगातार मानक लाइब्रेरी विधियों के कार्यान्वयन पाते हैं, तो इसे समीक्षा में विफल होना चाहिए जब तक कि पहिया को पुनर्निर्मित करने का कोई अच्छा कारण न हो।

+0

आप आम समस्याओं (जैसे इस) की चेकलिस्ट बनाने और प्रशिक्षण आवश्यकताओं की पहचान करने के लिए सहकर्मी समीक्षाओं का उपयोग कर सकते हैं। – MarkJ

+0

निश्चित रूप से। एक सामान्य सहकर्मी समीक्षा प्रक्रिया के हिस्से के रूप में, डेवलपर्स पिछली गलतियों से बचने के लिए सीखेंगे, जो इस मामले में, इसका मतलब होगा कि वे पुन: उपयोग के लिए आम पुस्तकालयों को देखना शुरू कर देंगे। – Elie

8

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

तो मेरी सलाह: अगली बार जब आप प्रोग्रामर किराए पर लेते हैं, तो पुराने व्यक्ति को रिसेप्शन क्षेत्र में सोते हैं।

बस मजाक कर रहे हैं, ज्यादातर। सहकर्मी समीक्षा और शिक्षा जवाब है।

+0

मुझे लगता है कि आप युवाओं को कैसे दोष देते हैं और मैं पुराने को दोष देता हूं 'स्पष्ट रूप से प्रोग्रामर एक फ्रैक्चरियस गुच्छा हैं: पी – annakata

+1

मेरे अनुभव में अन्नकाटा सही है। पुराने सी ++ प्रोग्रामर जो सी ++ मानक लाइब्रेरी से पहले सॉफ्टवेयर लिख रहे हैं, वे सब कुछ लिखेंगे। –

3

एक साधारण कोडिंग शैली दस्तावेज़ देवताओं को याद दिलाने में मदद कर सकता है कि पुस्तकालय उपलब्ध हैं (शायद कुछ पसंदीदा सूची) और उन्हें उनसे परिचित होना चाहिए।

कभी-कभी, आपको लोगों को याद दिलाना पड़ता है।

एक सहकर्मी समीक्षा में मदद मिलेगी।

6

सारांश: धारणा सभी FUBARs सहयोगियों से भी व्यवस्थाएं की अवधारणा (भगवान कि वे किस तरह के बारे में "एक में दो भाषाओं" शिकायत), बुद्धि के लिए के साथ अपरिचित हैं से

मैं इस एक बहुत देखने की जननी है : पुराने सी ++ लोगों ने अचानक सिर में सी # डाइविंग के साथ सामना करना पड़ा ताकि पहले से ही हैशटेबल्स को स्क्रैच से फिर से बनाया जा सके ...

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

आपके उपकरण के साथ परिचितता की कमी दूसरों की अवमानना ​​पैदा करती है।

+0

अच्छा बिंदु। क्या वहां ऐसी किताबें हैं जो विशेष रूप से एक भाषा से दूसरे भाषा में जाने की समस्या का समाधान करती हैं? यह दिलचस्प होगा ... "यहां आप भाषा की एक्स में भाषा X में संभवतः अधिकांश चीजें कैसे कर रहे हैं"। – Boden

+0

आईआईआरसी, सी ++ लोगों के लिए कई "सी # प्रकाशित" पुस्तकें प्रकाशित हुईं। –

+0

और अन्य: मैंने जेएस के लिए जावा, जावा के लिए जेएस, जावा के लिए रूबी, पीएचपी के लिए रूबी, पर्ल के लिए अजगर इत्यादि आदि को देखा/सुना है .. लोगों को यह जानने की जरूरत है कि प्रोग्रामिंग भाषा स्वतंत्र है। – annakata

1

उत्तर देने के लिए बहुत कठिन सवाल है। जाहिर है सहकर्मी समीक्षा मदद करता है, लेकिन उचित दस्तावेज भी। क्या आपकी परियोजनाओं में तकनीकी चश्मे हैं, जहां आप कक्षाओं और इंटीफेस को बनाने के लिए मानचित्र बनाते हैं?

यदि हां, तो टीम चश्मा की समीक्षा करने और चाहिए पर किसी और का कहना है जहां मौजूदा कोड में इस्तेमाल किया जा सकता है ...

3

पीएचपी अच्छी तरह से प्रलेखित यदि और केवल यदि, तुम्हें पता है आप के लिए क्या चाहिए, तो ।उदाहरण के लिए, आप Arrays और Array functions अनुभाग खोलेंगे ताकि आप यह देख सकें कि आप सरणी के साथ क्या कर सकते हैं। और अनुमान लगाओ, एसपीएल का भी उल्लेख नहीं है।

2

दो कारण जल्दी से दिमाग में आते हैं। सबसे पहले, मानक PHP लाइब्रेरी अच्छी तरह से ज्ञात नहीं है, और खराब दस्तावेज से पीड़ित है। Php.net वेबसाइट को व्यापक रूप से भाषा की सर्वोत्तम संपत्ति माना जाता है, लेकिन कक्षाओं में निर्मित नए (जैसे एसपीएल, प्रतिबिंब एपीआई, डोमडॉक्यूमेंट, इत्यादि) बहुत सारे संदर्भ के बिना तरीकों की सूची से थोड़ा अधिक हैं।

अधिक महत्वपूर्ण बात यह है कि ऐसा लगता है कि पूर्ण एसपीएल कभी भी डिफ़ॉल्ट रूप से (बिना रिलीज़) 5.3 से पहले PHP के किसी भी संस्करण के साथ भेज दिया गया है। जहां तक ​​गोद लेने के लिए यह एक हत्यारा है। आम तौर पर PHP कोड लिखने वाले लोगों का नियंत्रण नहीं होता है कि उनके PHP बाइनरी में क्या अनुपालन किया जाता है। यह उनके वेब-होस्ट और/या ऑपरेशंस टीम द्वारा संभाला जाता है, और वेब होस्ट और/या ऑपरेशंस टीमों के पास डेवलपर की तुलना में अलग-अलग लक्ष्य होते हैं और साथ में आने वाले प्रत्येक वैकल्पिक एक्सटेंशन को इंस्टॉल नहीं करने जा रहे हैं। इसका मतलब यह भी है कि ड्रूपल, जूमला, वर्डप्रेस इत्यादि जैसी परियोजनाएं एसपीएल पर हर जगह स्थापित होने पर भरोसा नहीं कर सकती हैं, इसलिए वे इसका उपयोग नहीं करते हैं।

भाग पीएलएल पर "जीता आउट" PHP के कारण एक ही इंस्टॉल में आपको हर चीज की आवश्यकता थी। वैकल्पिक एक्सटेंशन कभी भी व्यापक रूप से अपनाया नहीं जाता है जब तक वे बेस इंस्टॉल का हिस्सा बन जाते हैं।

+0

एसपीएल के कम से कम हिस्से 5.2 में हैं। मैं कई जगहों पर इटरेटर का उपयोग कर रहा हूं। मुझे पता है कि यह सब उपलब्ध नहीं है और यह उपलब्ध है कि यह क्या उपलब्ध है और इसका उपयोग कैसे करें इसके बारे में दूरस्थ रूप से स्पष्ट नहीं है। – Zoredache

+0

उत्कृष्ट बिंदु। इस पोस्ट से पहले मुझे वास्तव में एसपीएल के बारे में पता नहीं था, लेकिन मैं ** ** आईटरेटर से अवगत था, और उन्हें एसपीएल का हिस्सा नहीं माना। –

+0

एसपीएल के साथ समस्या बहुत सारे PHP इंस्टॉल अभी भी 5.1.x या 4.4 भी हैं। – jmucchiello

0

प्रशिक्षण और सहकर्मी की समीक्षा के साथ सहमत, लेकिन यह भी इकाई परीक्षण और कोड प्रलेखन लागू करने NIH सिंड्रोम :)

3

तुम भी वास्तव में कोड लिखने पर बाहर सेट करने से पहले अनुसंधान को प्रोत्साहित करना चाहिए के साथ मदद करनी चाहिए। मैं आमतौर पर ऐसा करने के तरीके के बारे में सोचकर समस्याओं का सामना करता हूं, फिर मैं मानक पुस्तकालय या किसी अन्य पुस्तकालय में कुछ भी खोजने की कोशिश करता हूं जो मेरी मदद करेगा। मैं कहूंगा कि कुछ मामलों में शोध का एक घंटे कोडिंग के दिनों के लायक हो सकता है।

यदि लोग ऐसा नहीं कर रहे हैं, तो यह किसी भी व्यक्ति को समस्या के सामान्य दृष्टिकोण और उनके द्वारा उपयोग किए जाने वाले लाइब्रेरी फ़ंक्शंस/कक्षाओं के बारे में प्रश्न पूछने का अच्छा विचार हो सकता है। अगर वे कुछ स्पष्ट याद कर रहे हैं, तो उन्हें सुझाव दें।