क्या एक अमूर्त वर्ग हमेशा Abstract
के साथ उपसर्ग किया जाना चाहिए और Interface
(जब यह एक इंटरफ़ेस है) के साथ प्रत्यय होना चाहिए? क्या कोई मानक नामकरण सम्मेलन है, जो फ़ोल्डर संरचना/नामस्थानों के लिए पीएसआर -0 के समान है, लेकिन कक्षाओं के लिए?अमूर्त वर्गों और इंटरफेस के बारे में PHP नामकरण सम्मेलन
उत्तर
इसके लिए कोई सम्मेलन नहीं है; विशेष रूप से PHP में। यह सब व्यवस्थित किया जा सकता है हालांकि आप चाहें।
पीएचपी 5.3 में namespaces की वृद्धि के साथ, मैं वास्तविक वर्ग के नाम करने के लिए Abstract
या Interface
उपसर्गों/प्रत्यय जोड़ने की जरूरत नहीं दिख रहा है।
बस चीजों को नाम दें!
हालांकि कोई सम्मेलन नहीं है, मुझे लगता है कि यह संबंधित घटकों के लिए Abstract
उपसर्ग और Interface
प्रत्यय का उपयोग कर एक अच्छा अभ्यास है। यह एक नज़र में आईएमओ को बेहतर ढंग से समझने में मदद करता है।
सम्मेलन वे हैं जो आप उन्हें देखते हैं: भाषा स्वयं उन लोगों के अलावा किसी भी सम्मेलन को मजबूर नहीं करती है जो पार्सर को आपके कोड को पढ़ने में सक्षम बनाता है। असल में, आपको अपनी सभी परियोजनाओं के लिए किसी विशेष परियोजना, या बेहतर के लिए अपने आप पर सम्मेलन स्थापित करना चाहिए। हालांकि, विभिन्न लोगों की टीमों में काम करने से सम्मेलनों का पालन नहीं किया जा सकता है, यह वास्तव में प्रोग्रामर पर निर्भर करता है।
मेरे अनुभव से, मैं "डिजाइन-बाय-कॉन्ट्रैक्ट" जैसे कुछ का सुझाव देना चाहूंगा। अपने अनुबंधों (इंटरफेस) को नाम दें जैसे कि आप अपनी कार्यान्वयन कक्षा का नाम लेंगे, और फिर अपने कार्यान्वयन को एक और विशिष्ट नाम दें (या MyContractNameImpl पर फ़ॉलबैक, जिसे ज्यादातर जावा I अनुमान से जाना जाता है)। इसके अलावा, कई आधुनिक आईडीई जानते हैं कि आपकी कक्षा एक इंटरफ़ेस या सार है, इसलिए वास्तव में इसे नाम देने की आवश्यकता नहीं है। मुझे उसी कारण से "IMyContract" नामक अनुबंध भी मिलते हैं, वास्तव में अच्छा नहीं।
का उपयोग करके अपने सार वर्गों और इंटरफेस का नामकरण:
- सार *
- * इंटरफ़ेस
अपने codebase, स्वच्छ अच्छा और अपनी टीम को स्पष्ट रखना होगा क्या प्रोटोटाइप, कर रहे हैं क्या अनुबंध हैं और ठोस कार्यान्वयन क्या हैं।
किसी भी परिस्थिति में हमारी उत्पादकता बढ़ाने के लिए नामकरण सम्मेलन यहां हैं, इसलिए "जैसा आप चाहें नाम" अच्छा विचार से बहुत दूर है।
भले ही एफआईजी समूह अमूर्त वर्गों और इंटरफेस के लिए नामकरण सम्मेलन का प्रस्ताव नहीं दे रहा है - यदि आप प्रमुख ओपन सोर्स PHP परियोजनाओं की जांच करते हैं, तो आप देखेंगे कि लगभग सभी इस सम्मेलन का उपयोग करते हैं।
- 1. उपयोगिता वर्गों और विधियों के लिए नामकरण सम्मेलन और संरचना
- 2. घटनाक्रम - नामकरण सम्मेलन और शैली
- 3. नामकरण सम्मेलन?
- 4. एफ # नामकरण सम्मेलन
- 5. PHP फ़ाइल नामकरण सम्मेलन (.class, .inc)
- 6. परियोजना और असेंबली नामकरण सम्मेलन
- 7. आईडी नामकरण सम्मेलन?
- 8. पर्ल क्लास नामकरण सम्मेलन
- 9. सजावटी में पाइथन नामकरण सम्मेलन
- 10. धागे के लिए नामकरण सम्मेलन?
- 11. नामकरण चर, सर्वोत्तम सम्मेलन
- 12. सी # नामकरण सम्मेलनों के लिए नामकरण सम्मेलन
- 13. लेआउट फाइलें नामकरण सम्मेलन?
- 14. PostgreSQL नामकरण सम्मेलन
- 15. कमांड और घटनाओं के लिए नामकरण सम्मेलन
- 16. शुद्ध अमूर्त वर्ग और इंटरफेस
- 17. सीएसएस नामकरण सम्मेलन चर्चा (jqueryui)
- 18. कार्यात्मक सर्वर नामकरण सम्मेलन
- 19. जावा इंटरफेस के बारे में उलझन
- 20. AJAX नामकरण सम्मेलन
- 21. .NET परीक्षण नामकरण सम्मेलन
- 22. मॉडल और इंटरफेस देखने के बारे में
- 23. हास्केल मॉड्यूल नामकरण सम्मेलन
- 24. एक्सएएमएल संसाधन नामकरण सम्मेलन
- 25. आईओएस छवि नामकरण सम्मेलन
- 26. परियोजनाएं/पैकेज नामकरण सम्मेलन?
- 27. रेडिस कुंजी नामकरण सम्मेलन?
- 28. SqlServer पहचान नामकरण सम्मेलन
- 29. पीएचपी लक्षण सम्मेलन नामकरण?
- 30. बिटमैस्क पैरामीटर नामकरण सम्मेलन?
यह इंगित करने के लायक है कि यदि आप कानून द्वारा पीएसआर के अनुरूप होना चाहते हैं, तो यह निर्धारित करता है कि आपको इंटरफ़ेस के लिए पर्याप्त रूप से 'इंटरफेस' शामिल करना होगा। http://www.php-fig.org/bylaws/psr-naming-conventions/ – wired00