मेरे पास अक्सर एक विशिष्ट अच्छी तरह से परिभाषित एल्गोरिदम के आधार पर कोड होता है। यह अच्छी तरह से टिप्पणी करता है और उचित लगता है। अधिकांश डेटा सेट के लिए, एल्गोरिदम महान काम करता है।विशेष मामलों और हेरिस्टिक्स का प्रबंधन कैसे करें
लेकिन फिर किनारे के मामलों, विशेष मामलों, हेरिस्टिक को डेटा के विशेष सेट के साथ विशेष समस्याओं को हल करने के लिए जोड़ा जाता है। जैसे-जैसे विशेष मामलों में वृद्धि होती है, टिप्पणियां अधिक से अधिक आलसी होती हैं। मुझे वापस जाने और एक साल में इस कोड को देखने का डर है और याद रखने की कोशिश कर रहा है कि क्यों प्रत्येक विशेष विशेष मामला या ह्युरिस्टिक जोड़ा गया था।
मैं कभी-कभी चाहता हूं कि स्रोत कोड में ग्राफिक्स को एम्बेड या लिंक करने का कोई तरीका था, इसलिए मैं प्रभावी ढंग से कह सकता हूं, "इस डेटा सेट के आलेख में, यह विशेष विशेषता दिनचर्या को गलत तरीके से ट्रिगर कर रही थी, इसलिए कोड का यह टुकड़ा क्यों जोड़ा गया "।
इस तरह की स्थितियों को संभालने के लिए कुछ सर्वोत्तम अभ्यास क्या हैं?
इन असामान्य/किनारे के मामलों को संभालने के लिए विशेष मामलों की हमेशा आवश्यकता होती है। कोड को अपेक्षाकृत पठनीय और समझने योग्य रखने में उन्हें कैसे प्रबंधित किया जा सकता है?
तस्वीरों से फीचर मान्यता से निपटने के उदाहरण पर विचार करें (बिल्कुल वही नहीं जो मैं काम कर रहा हूं, लेकिन समानता उपयुक्त लगता है)। जब मुझे एक विशेष तस्वीर मिलती है जिसके लिए सामान्य एल्गोरिदम विफल रहता है और एक विशेष मामले की आवश्यकता होती है, तो मैं एक टिप्पणी में उस जानकारी को सबसे अच्छा रिकॉर्ड कर सकता हूं, (या नीचे वर्णित किसी व्यक्ति के रूप में, एक वर्णनात्मक फ़ंक्शन नाम)। लेकिन अक्सर गायब होने वाली विशेष डेटा फ़ाइल का स्थायी लिंक होता है जो प्रश्न में व्यवहार को प्रदर्शित करता है। जबकि मेरी टिप्पणी को इस मुद्दे का वर्णन करना चाहिए, और संभवतः "इस व्यवहार के उदाहरण के लिए फ़ाइल foo.jp देखें", यह फ़ाइल स्रोत पेड़ में कभी नहीं है, और आसानी से खो सकती है।
इस तरह के मामलों में, क्या लोग संदर्भ के लिए स्रोत पेड़ में डेटा फ़ाइलों को जोड़ते हैं?
यदि आप एक कोड उदाहरण प्रदान करेंगे, तो मुझे यकीन है कि आप यहां कुछ विशेषज्ञों से कुछ विशिष्ट सुझाव प्राप्त कर सकते हैं। –
मुझे यकीन नहीं है कि एंबेडेड प्रोग्रामिंग वास्तव में यहां मायने रखती है - मैं टैग को हटाने का सुझाव देता हूं। – Aardvark
क्या आपके एल्गोरिदम से विशेष मामलों के लिए कोड को निकालना संभव है और उन्हें एक अधिक सामान्य संरचना है ताकि उन्हें क्लीनर तरीके से वापस जोड़ा जा सके? उदाहरण के लिए, क्या आप ऐसे फ़ैक्टर का उपयोग कर सकते हैं जिन्हें अलग-अलग डेटा सेट के लिए संशोधित किया जा सकता है (जिस तरह से एसटीएल आपको तुलनात्मक फ़ैक्टर निर्दिष्ट करने देता है)? आप समस्या का स्पष्टीकरण थोड़ा अस्पष्ट है इसलिए असली समस्या क्या है इसका विचार प्राप्त करना मुश्किल है। –