2011-09-17 5 views
6

दूसरों के साथ इंटरफ़ेस बिल्डर फ़ाइलों को विलय करना (और यहां तक ​​कि खुद को एक अलग कंप्यूटर से) एक असली चुनौती हो सकती है। एक्सआईबी एक्सएमएल निश्चित रूप से एनआईबी की तुलना में बेहतर है, लेकिन एक्सएमएल के रूप में भी, मुझे ऐसे मामले मिल गए हैं जहां विलय और लगातार और वैध XIB प्राप्त करना दूसरे को लेने और मैन्युअल रूप से किए गए परिवर्तनों को फिर से करने से कठिन था।इंटरफ़ेस बिल्डर (एक्सआईबी) या कोड जब एक टीम के वातावरण में विलय हो रहा है?

मुझे आश्चर्य है कि अन्य लोग क्या कर रहे हैं जिनके पास कई लोग हैं जो संभावित रूप से XIB पर टकरा सकते हैं।

सभी कोड जाने के लिए विचार विलय कर रहा था? क्या आप केवल लेआउट के लिए XIB का उपयोग करते हैं और शेष कोड करते हैं? या, क्या आपके पास XIB विलय करने में कोई भाग्य है और समय के साथ आप मैन्युअल रूप से पढ़ने पर बेहतर हो जाते हैं?

संपादित करें: मेरा वर्तमान दृष्टिकोण सख्त लेआउट (यह वास्तव में अच्छा है और कोड के लिए दर्दनाक है) के लिए इसका उपयोग कर रहा है और कोड के माध्यम से सभी विकल्पों और डेटा को सेट कर रहा है। मुझे कोड मर्ज करने के लिए बहुत आसान लगता है लेकिन कोड में नियंत्रण डालना कठिन है। विचार?

उत्तर

2

सभी कोड जाने के लिए विचार विलय कर रहा था?

हां, नहीं, और "भाग"।

  • लोग शामिल
  • यूआई
  • कार्यान्वयन आप की जरूरत की गुणवत्ता की जटिलता: यह जैसी चीजों पर निर्भर करता है।
  • कार्यान्वयन

की उम्मीद जीवनकाल लेकिन हाँ, यह कर दिया गया है, और यह अक्सर जब मामला सिर्फ तुच्छ नहीं है - नहीं तो, आप बस इसे छोटे टुकड़ों में XIBs सड़ते से लड़ते हैं। आप जिस चीज का सामना कर रहे हैं उसके आधार पर यह बहुत अच्छी तरह से काम कर सकता है (या नहीं)।

क्या आप सिर्फ लेआउट के लिए XIB का उपयोग करते हैं और बाकी कोड को कोड करते हैं?

बहुत सी चीजों पर निर्भर करता है।

  • एक्सआईबी-केवल इसके प्रतिबंध हैं, और कोड डुप्लिकेशन की तरह है।मैं कभी-कभी प्रोटोटाइप के लिए इसका इस्तेमाल करता हूं, दूसरी बार क्योंकि किसी और ने इसका पक्ष लिया है।
  • "दोनों में से थोड़ा" को बहुत अधिक गोंद की आवश्यकता हो सकती है। कभी-कभी, यह बहुत असंगठित हो सकता है - उदा। "वह क्रिया कहां है वास्तव में सेट?"। बेशक, इसका उपयोग यह भी प्राप्त करने के लिए किया जा सकता है कि कुछ लोग XIB और प्रोग्रामेटिक अलगाव के अच्छे संतुलन पर विचार करेंगे। एक्सआईबी जितना आसान होगा, उतनी ही कम इसे समायोजित करने की आवश्यकता होगी, और इससे कम संभावना है कि इससे संघर्ष विलय हो जाएगा।
  • कोड केवल मेरी प्राथमिकता है, लेकिन ऐसे लोग हैं जो WYSIWYG को पसंद करते हैं, और लोग प्रोग्रामिंग के रूप में बहुत ही परिचित लेखन यूआई नहीं हैं। साथ ही, यदि गुणवत्ता, पुन: प्रयोज्यता और रखरखाव की आवश्यकता नहीं है (उदा। प्रोटोटाइप को धक्का दें), तो कोड-केवल ओवरकिल हो सकता है।

या, आप किसी भी भाग्य विलय XIBs था और समय के साथ आप बस मैन्युअल रूप से पढ़ने में बेहतर है?

कोई वास्तविक भाग्य - केवल उन्हें छोटे घटकों में तोड़कर। दुर्भाग्यवश, एक्सक 4 के संपादक में "विघटन इंटरफ़ेस" विकल्प (आईबी 3 से) उपलब्ध नहीं है।

+0

धन्यवाद - अच्छी प्रतिक्रिया। – bryanmac

1

मुझे पता चला है कि आईबी लेआउट के लिए बेहतर है जैसा कि आप उल्लेख करते हैं, लेकिन शायद यही कारण है कि मुझे इस तरह से उठाया गया था। प्लस कोड लेआउट की तुलना में अधिक पुनः उपयोग करने योग्य है।

जहां तक ​​मैं रनटाइम के दौरान चिंतित हूं, वही कार्य करता है हालांकि मैं इसके बारे में 100% निश्चित नहीं हूं। कोड की तुलना में आईबी में प्रोटोटाइप कम दर्दनाक हैं, मुझे पता है कि निश्चित रूप से और ग्राहक कोड में प्रोटोटाइप पर आपके लिए कोई मूल्य नहीं लेंगे।

+0

कोड पर अधिक पुन: प्रयोज्य होने पर सहमति हुई और आईबी में लेआउट बेहतर होने पर भी सहमत हो गया। यह मेरा वर्तमान दृष्टिकोण है (आईबी में सख्त लेआउट और कोड में नियंत्रण को कॉन्फ़िगर करना जो मैं बचा सकता हूं, कॉपी पेस्ट और आसानी से diff)। अगर मुझे खराब विलय मामले में लेआउट को फिर से करना है, तो यह तेज़ है क्योंकि यह सख्त लेआउट और रिबाइंड है। दूसरों से सुनने की प्रतीक्षा कर रहा है ... – bryanmac

+0

इसे उत्तर के रूप में लेना क्योंकि यह मूल रूप से निष्कर्ष आया है और मैंने आसान विलय के लिए अन्य प्रस्ताव नहीं सुना है। कोड अधिक पुनः उपयोग करने योग्य (कट और पेस्ट) है और इंटरफ़ेस बिल्डर में सख्त लेआउट सबसे आसान है। – bryanmac

+0

उस एक दोस्त पर सहमत! –

0

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

+1

एमवीसी इंटरफ़ेस बिल्डर को निर्देशित नहीं करता है। मेरे पास कई प्लेटफार्मों पर एकाधिक भाषाओं में कोड एमवीसी पैटर्न हैं। कुछ डिजाइनरों के साथ, कुछ बिना। एमवीसी निर्धारित करता है कि आपका विचार आपके नियंत्रक से अलग है। एक दृश्य वर्ग, एक नियंत्रक वर्ग और एक मॉडल कक्षाओं के बिना xib और सम्मान एमवीसी के लिए संभव है। एमवीसी 1 9 78/1979 में जेरोक्स पार्स पर वापस चला गया और मुझे बहुत अच्छा यकीन है कि इंटरफ़ेस निर्माता मौजूद नहीं था :) http://heim.ifi.uio.no/~trygver/themes/mvc/mvc-index.html – bryanmac

+0

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