मैंने अपनी वर्तमान परियोजना वास्तुकला को विकसित किया और इसे अपने दम पर विकसित करना शुरू किया (जैसे कुछ तक पहुंचना revision 40
) ।
हम एक सरल सबवे राउटिंग फ्रेमवर्क विकसित कर रहे हैं और मेरा डिज़ाइन बहुत अच्छा लग रहा था - कई मुख्य मॉडल, संबंधित विचार, मुख्य तर्क और डेटा संरचनाएं "जैसा कि उन्हें होना चाहिए" मॉडल किया गया था और प्रतिपादन से पूरी तरह से अलग किया गया था, एल्गोरिदमिक भाग भी लागू किया गया था मुख्य मॉडलों के अलावा और चौराहे बिंदुओं की एक छोटी संख्या थी।
मैं उस डिज़ाइन को स्केलेबल, कस्टमाइज़ करने योग्य, आसानी से लागू करने वाला, "ब्लैक बॉक्स इंटरेक्शन" के आधार पर बातचीत करता हूँ और, खैर, बहुत अच्छा कहूँगा।
अब, क्या किया गया था:
- मैंने संबंधित इंटरफेस के कुछ कार्यान्वयन शुरू किए, कुछ सुविधाजनक पुस्तकालयों को पोर्ट किया और कुछ एप्लिकेशन भागों के लिए कार्यान्वयन स्टब्स लिखे।
- मेरे पास कोडिंग शैली और उस कोडिंग शैली के उपयोग के उदाहरणों का वर्णन करने वाला दस्तावेज था (मेरा अपना लिखा कोड)।
- मैंने अधिक या कम आधुनिक
C++
विकास तकनीकों के उपयोग को मजबूर किया , जिसमेंno-delete
कोड (स्मार्ट पॉइंटर्स के माध्यम से लपेटा गया) और आदि शामिल हैं। - मैंने ठोस इंटरफ़ेस कार्यान्वयन के उद्देश्य को प्रलेखित किया और उनका उपयोग कैसे किया जाना चाहिए।
- इकाई परीक्षण (ज्यादातर, एकीकरण परीक्षण, क्योंकि "वास्तविक" कोड का एक बहुत कुछ नहीं था) और सभी मुख्य सार के लिए नकली का एक सेट।
मैं 12 दिनों से अनुपस्थित था ।
अब हमारे पास क्या है (परियोजना टीम के 4 अन्य सदस्यों द्वारा विकसित की गई थी):
- 3 अलग कोडिंग शैलियों सभी परियोजना से अधिक (मुझे लगता है, उनमें से दो एक ही शैली :) का उपयोग करने के लिए सहमत है, वही हमारे कपोल-कल्पना के नामकरण पर लागू होता है (उदाहरण के लिए
CommonPathData.h
,SubwaySchemeStructures.h
) , जो मूल रूप से कुछ डेटा संरचनाओं की घोषणा हेडर हैं। - हाल ही में लागू किए गए भागों के लिए प्रलेखन की पूर्ण कमी।
- क्या मैं हाल ही में कॉल कर सकता है
single-purpose-abstraction
अब कम से कम 2 अलग-अलग प्रकार की घटनाओं को संभालता है, अन्य भागों के साथ तंग युग्मन है और इसी तरह। - उपयोग किए गए इंटरफ़ेस में से आधे में अब सदस्य चर हैं
(sic!)
। - कच्चे सूचक उपयोग लगभग हर जगह।
- इकाई परीक्षण अक्षम किया गया, क्योंकि "
(Rev.57) They are unnecessary for this project
"। - ... (यह शायद सब कुछ नहीं है) ।
प्रतिबद्ध इतिहास से पता चलता है कि मेरे डिजाइन की व्याख्या एक ओवरकिल के रूप में की गई थी और लोगों ने इसे व्यक्तिगत साइकिल और रीइम्प्लीमेंटेड व्हील्स के साथ जोड़ना शुरू किया और फिर कोड चंक्स को एकीकृत करने में समस्याएं हुईं ।
अब - परियोजना अभी भी केवल एक छोटी राशि का करती है कि उसे क्या करना है, हमारे पास गंभीर एकीकरण समस्याएं हैं, मुझे लगता है कि कुछ मेमोरी लीक हैं।
क्या इस मामले में कुछ भी संभव है?
मुझे एहसास है कि मेरे सभी प्रयासों का कोई लाभ नहीं हुआ, लेकिन समय सीमा बहुत जल्द है और हमें कुछ करना है। क्या किसी के पास भी ऐसी ही स्थिति थी?
मूल रूप से मैंने सोचा था कि एक अच्छा (अच्छा, मैंने वह सब कुछ किया जो मैं कर सकता था) परियोजना के लिए शुरू करना शायद कुछ अच्छा होगा, हालांकि, मैं समझता हूं कि मैं गलत हूं।