संस्करण नियंत्रण का उपयोग करना
एसवीएन बहुत आम है, लेकिन मर्क्यूरियल अधिक सुंदर, शक्तिशाली है और ठोस गुई समर्थन है।
परीक्षण संचालित विकास
ठीक है, यदि आप इकाई परीक्षण करते हैं तो आप पहले से ही जीत की ओर हैं। उपकरणों के लिए, यह पसंद की बात है। परीक्षण के रूप में संभव के रूप में आसान होना चाहिए, यही कारण है कि मैं SimpleTest के लिए PHPUnit खाई।
डिबगिंग कोड
इकाई परीक्षणों के साथ आपको शायद ही xdebug की आवश्यकता होगी। मैं आमतौर पर केवल रूपरेखा के लिए xdebug का उपयोग करता हूं। (KCachegrind btw देखें)
यूएमएल आरेख का उपयोग
सब कुछ है कि कोड तर्क को दर्शाता है के साथ सबसे बड़ी समस्या यह है कि सिंक में रखने के लिए यह मैनुअल काम का एक बहुत कुछ है। आप कुछ कार्यों को स्वचालित कर सकते हैं, लेकिन यह उपयोगी नहीं है, क्योंकि आप आमतौर पर कुछ भी होने से पहले uml का उपयोग करना चाहते हैं। दूसरी समस्या यह है कि आरेख उपकरण का उपयोग पेन और पेपर या व्हाइटबोर्ड की तुलना में बहुत कठिन है। uml का उपयोग करें यदि आपको कई डेवलपर्स के साथ समस्या का संचार करना है या यदि आपको अपने लिए एक अमूर्त की आवश्यकता है। ("दीया" एक अच्छा मुफ्त उपकरण है। माइंड मैपिंग टूल भी बुद्धिशीलता के लिए बहुत उपयोगी हैं, कुछ वास्तव में कलम और कागज के साथ प्रतिस्पर्धा कर सकते हैं।)
रखरखाव योग्य, पुन: प्रयोज्य कोड के लिए OOP का उपयोग
ठीक है, कुछ हद तक ऊप काम करता है। :) एक अच्छी सलाह: रचना> विरासत। विरासत पहली नज़र में पुन: उपयोग करने के लिए एक शक्तिशाली उपकरण है, लेकिन रखरखाव और ढीले युग्मन इसके लिए पीड़ित होंगे। दूसरी अच्छी सलाह: रखरखाव> पुन: उपयोग। एक अमूर्त प्रणाली बहुत शक्तिशाली हो सकती है, लेकिन बनाए रखने के लिए भी कठिन है।
तेजी से अनुप्रयोग विकास के लिए चौखटे का उपयोग (जैसे Zp फ्रेमवर्क के लिए)
अपने ऐप को जल्दी आउट करने के लिए RAD एक अच्छी बात है। लेकिन कुछ घटक - विशेष रूप से ओआरएम - आपके पैरों को गोली मार देंगे, कम से कम अगर यह स्केलेबिलिटी की बात आती है। यहाँ प्रमुख समस्या यह है कि आप अपने डोमेन लॉजिक को ऑब्जेक्ट्स के साथ काम करने के लिए बाँध लेते हैं, जो कि शुद्ध स्केलेबल ऑप्टिमाइज़्ड सॉल्यूशन की ज़रूरत होने पर फैक्टर से बहुत मुश्किल हो जाता है। इसके बारे में जागरूक रहें और अपने डेवलपर्स को उच्च स्तर की अमूर्त परतों के बिना डेटाबेस का उपयोग करने के लिए प्रोत्साहित करें। डेटाबेस अमूर्त एक मिथक है, orm एक झूठ है।
चुम्मा
नवागंतुक आमतौर पर उन सभी सर्वोत्तम प्रथाओं को लागू करना चाहते हैं, कोडिंग मानकों को सेट करते हैं, सभी अच्छे टूल चेन का उपयोग करते हैं, जो भी। यह कुछ डेवलपर्स के लिए काम करता है, लेकिन कुछ बहुत सख्त होने पर मानसिक नाकाबंदी में चले जाएंगे। यूनिट टेस्टिंग और स्कम वास्तव में एक होना चाहिए, लेकिन यूनिट टेस्टिंग के लिए किसी नए व्यक्ति को वास्तव में यह जानने की जरूरत है कि वह इसे प्यार करता है। ज़्यादा मत करो, कदम से कदम लागू करें और देखें कि यह कैसे काम करता है। KISS भी कोड में बताएं। कभी-कभी किसी कठिन समस्या को हल करने का सबसे अच्छा तरीका है, गलत तरीके से हल करना। आपको अलग-अलग एल्गोरिथ्म के छह डिग्री की आवश्यकता है ? बस यादृच्छिक पर कुछ दोस्तों का चयन करें। आप गलत तर्क के साथ इसके चारों ओर एक पूर्ण अनुप्रयोग बना सकते हैं। यदि ग्राहक अंततः इसे खोदने का फैसला करता है, तो सभी ने बहुत पैसा बचाया।
चुस्त
फुर्तीली कार्यप्रणाली, चरम प्रोग्रामिंग, स्क्रम आदि के बारे में जानें, वहाँ कई किताबें हैं। कोई भी पुस्तक आपकी टीम को बेहतर बनाएगी, लेकिन इसमें हर टीम के साथी को लाना सबसे अच्छा होगा।