हम वर्तमान में विजुअल स्टूडियो 2005 से विजुअल स्टूडियो 2010 (अप्रबंधित सी/सी ++ का उपयोग करके) में माइग्रेट कर रहे हैं। इसका मतलब है कि हमारे आधे डेवलपर्स पहले से ही विजुअल स्टूडियो 2010 का उपयोग कर रहे हैं, जबकि दूसरा आधा अभी भी विजुअल स्टूडियो 2005 का उपयोग कर रहा है। हाल ही में, मैं ऐसी परिस्थिति में आया जहां विजुअल स्टूडियो 2010 में एक साफ तरीके से एक निश्चित निर्माण लिखा जा सकता है, लेकिन विजुअल स्टूडियो 2005 में कम-स्वच्छ स्रोत कोड की आवश्यकता है नहीं सभी डेवलपर को अपना मशीन पर पहले से ही दृश्य स्टूडियो 2010 है, मैं इस तरह कोड लिखने के लिए है: द्वारा विजुअल स्टूडियो 2010 के लिए विस्थापित करेगाक्या स्रोत कोड होना संभव है जो 'टाइम आउट' (एक निश्चित पल के बाद अमान्य हो जाता है)?
#if _MSC_VER >= 1600
// clean version of the source code
#else
// less clean version
// of the source code
// requiring multiple lines of code
// and requiring some dirty static_casts
#endif
सभी डेवलपर्स के बाद से इस साल के अंत में, मैं चाहता हूं कि यह कोड एक निश्चित पल के बाद स्वचालित रूप से गायब हो जाए। स्रोत कोड में 'कम साफ संस्करण' को लंबे समय तक अपठनीय स्रोत कोड में रखते हुए परिणाम।
बेशक, मुझे पता है कि कोड स्वचालित रूप से गायब नहीं होता है, इसलिए मैं वास्तव में एक निश्चित पल के बाद स्वचालित अलार्म घंटी चाहता हूं। कुछ इस तरह:
#if _MSC_VER >= 1600
// clean version of the source code
#else
// less clean version
// of the source code
// requiring multiple lines of code
// and requiring some dirty static_casts
#endif
#if compilation_date is after 1 november 2010
# error "Remove Visual Studio 2005 compatibility code from this file"
#endif
इस तरह, अगर हम इस बारे में भूल जाते हैं, तो हम स्वचालित रूप से इस के 1 नवंबर के बाद से सूचित किया जाता 2010
यह चाल शायद DATE के के उपयोग की आवश्यकता है, लेकिन इस की जरूरत के बाद से प्रीकंपेलर द्वारा संभाला जा सकता है, आप स्ट्रिंग-मैनिप्लेशंस नहीं कर सकते हैं या सी दिनांक/समय कार्यों का उपयोग नहीं कर सकते हैं।
मैंने खुद को देरी मेल भेजने का वैकल्पिक विचार भी माना, लेकिन मैं सोच रहा था कि कोई समाधान नहीं था जिसे स्रोत कोड में बनाया जा सकता था।
ऐसा लगता है कि क्लीन-अप को आसानी से लिपि जा सकता है, इसलिए मैं अनावश्यक कोड को हटाने के लिए डेवलपर्स को याद दिलाने के लिए अतिरिक्त चेतावनियां डालने से परेशान नहीं हूं। –