मैं एक मध्यम आकार की टीम में काम करता हूं और मैं नियमित रूप से इन दर्दनाक बड़ी कक्षा फ़ाइलों में भाग लेता हूं। मेरी पहली प्रवृत्ति एक चाकू के साथ उन पर जाना है, लेकिन आमतौर पर यह मामला बदतर बना देता है और मुझे दिमाग की बुरी स्थिति में डाल देता है।ईश्वर वस्तुओं से निपटना
उदाहरण के लिए, कल्पना करें कि आप बस पर काम करने के लिए एक खिड़कियों सेवा दिए गए थे। अब इस सेवा में एक बग है और आपको यह पता लगाने की आवश्यकता है कि इससे पहले कि आप इसे ठीक करने की कोई उम्मीद कर सकें, सेवा क्या करती है। आप सेवा खोलते हैं और देखते हैं कि किसी ने सब कुछ के लिए सिर्फ एक फ़ाइल का उपयोग करने का फैसला किया है। स्टार्ट विधि वहां है, रोकें विधि, टाइमर, सभी हैंडलिंग और कार्यक्षमता। मैं कोड की हजारों लाइनों की बात कर रहा हूं। कोड की सौ पंक्तियों के तहत विधियां दुर्लभ हैं।
अब यह सोचते हैं आप पूरी क्लास और इन देवता कक्षाएं अभी पॉपिंग रखने के लिए जा रहे हैं, क्या उनसे निपटने के लिए सबसे अच्छा तरीका है पुनर्लेखन नहीं कर सकते? आप कहां से शुरू करते हो आप पहले पूरा करने की क्या कोशिश करते हैं? आप इस तरह की चीज़ से कैसे निपटते हैं और न सिर्फ सभी स्टैबी प्राप्त करना चाहते हैं।
आप कुछ रणनीति सिर्फ जाँच में अपने गुस्से को रखने के लिए है, तो उस रूप में अच्छी तरह का स्वागत है।
सुझाव इस प्रकार अब तक:
- स्थापना परीक्षण कवरेज
- कोड तह
- पुनर्निर्माण मौजूदा तरीकों
- दस्तावेज़ व्यवहार वृद्धिशील सुधार के लिए की खोज की
- उद्देश्य के रूप में
संपादित करें:
चार्ल्स कॉनवे एक पॉडकास्ट की अनुशंसा करता है जो बहुत उपयोगी साबित हुआ। link
माइकल फेदरस (पॉडकास्ट में लड़का) इस आधार पर शुरू होता है कि केवल स्रोत नियंत्रण से बाहर एक परियोजना लेने के लिए बहुत डरते हैं और बस इसके साथ सीधे खेलते हैं और फिर परिवर्तनों को फेंक देते हैं। मैं कह सकता हूं कि मैं इसका दोषी हूं।
वह अनिवार्य रूप से आइटम आप के बारे में अधिक जानने के लिए और बस के अलावा खींच शुरू चाहते लेने के लिए कहा। इसकी निर्भरताओं की खोज करें और फिर उन्हें तोड़ दें। इसे हर जगह के माध्यम से इसका पालन करें।
ग्रेट टिप बड़ी कक्षा का उपयोग करें जो कहीं और उपयोग किया जाता है और इसे एक emtpy इंटरफ़ेस लागू करता है। फिर कक्षा का उपयोग करके कोड लें और इसके बजाय इंटरफ़ेस को तुरंत चालू करें। यह आपको आपके कोड में उस बड़ी कक्षा में सभी निर्भरताओं की पूरी सूची देगा।
भागो, और पीछे देखने के लिए मत रोको !!! – JoshBerke
अगर मैं केवल जोश कर सकता हूं ... अगर मैं केवल ... –
हे, मैंने सुना है, मुझे एक बार इस COM + एप बहु-थ्रेडेड की समीक्षा करनी पड़ी, कोड की 20,000 लाइनें, जिसमें चक्रीय जटिलता की ऊंचाई अधिक थी, तब मैंने कभी देखा। ओह और यह केवल 5 तरीकों की तरह था। मैंने इस सेवा को "पुन: उपयोग" करने का सुझाव देने के लिए एमजीएमटी पर पक्के और हँसे। – JoshBerke