के लिए स्वच्छ, प्रदर्शन कोड लिखना मैं कुछ महीनों के लिए आईफोन पर उद्देश्य-सी के साथ विकास कर रहा हूं और मैं जावा के साथ अनुप्रयोगों के विकास के दौरान सीखा और परिष्कृत सर्वोत्तम अभ्यासों को लागू कर रहा हूं। इनमें शामिल हैं: कक्षाओं को डिजाइन करना जिनकी एक ज़िम्मेदारी है, जहां उचित पैटर्न डिजाइन पैटर्न का आवेदन है, और short methods लिखना जो केवल एक चीज करते हैं। मेरे लिए ये अभ्यास clean-code परिप्रेक्ष्य से फायदेमंद हैं और बड़े पैमाने पर डोमेन अज्ञेयवादी हैं।आईफोन
मैं परिणामों से काफी खुश हूं। हालांकि, कुछ आईफोन डेवलपर्स ने मुझे इसके खिलाफ स्वतंत्र रूप से सलाह दी है क्योंकि वे कहते हैं कि मैं बहुत से वर्ग और बहुत सी विधियों को लिखता हूं। विभिन्न समयों पर मैं चेतावनी दी गई है:
- ढेर
- बहुत सारे वर्गों झटका (उपयोगकर्ता द्वारा यानी प्रत्यक्ष) iPhone धीमी हो जाएगी
- नेस्टेड विधि कॉल प्रदर्शन को नुकसान होगा (यानी द्वारा प्रत्यक्ष जाएगा उपयोगकर्ता)
प्रैक्टिस में मैंने इन मुद्दों का अनुभव नहीं किया है। कुछ iPhone performance metrics पर सतही रूप से देखकर मुझे लगता है कि अतिरिक्त विधि कॉल और ऑब्जेक्ट लाइफ-साइक्सा ओवरहेड सामान्य पैटर्न को लागू करने के लिए आवश्यक है और छोटी विधियों को किसी भी उपयोगकर्ता को समझने योग्य देरी बनाने की संभावना नहीं है। हालांकि, अन्य आईफोन डेवलपर्स की सलाह ने मुझे थोड़ा सा झुका दिया है।
मैं डोमेन अज्ञेय प्रोग्रामिंग प्रथाओं को सीखना और परिशोधित करना जारी रखना चाहता हूं जिन्होंने मुझे अतीत में अच्छी तरह से सेवा दी है, लेकिन जब आईफोन पर विकास होता है तो मैं ऐसे मार्ग को नीचे नहीं करना चाहता जो दर्द में खत्म हो जाए!
तो इस प्लेटफ़ॉर्म के संबंध में - क्या मुझे कुछ सामान्य सर्वोत्तम प्रथाओं को त्यागना चाहिए और विधि कॉल को अनुकूलित करने और जीवन चक्र ओवरहेड को ऑब्जेक्ट करने के बारे में अधिक जागरूक होना चाहिए? या मैं Knuth's सलाह निम्नलिखित जारी रखना चाहिए:
समय से पहले अनुकूलन सब बुराई (या कम से कम इसमें से अधिकांश) में
मुझे आश्चर्य है कि क्या आप अपने कोड के कुछ उदाहरण दिखा सकते हैं। मैं देखना चाहता हूं कि आप कोको टच दुनिया में अपने जावा अनुभव का उपयोग कैसे कर रहे हैं। क्या आपके पास जिथब पर कोई सार्वजनिक रिपोजिटर्स है या आपके ओबीजेसी स्रोतों के समान कुछ है? – Piotr