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