Status रिफैक्टर

 Status रिफैक्टरस्थिति रिफैक्टररिफैक्टरिंग क्या है?

डेवलपर्स शायद इस अनुभाग को छोड़ सकते हैं।कभी-कभी जब आप किसी प्रोजेक्ट पर काम कर रहे होते हैं, तो चीजें तेजी से एक साथ हो जाती हैं, लेकिन किसी तरह इष्टतम तरीके से नहीं। यह काम करता है, लेकिन यह सुंदर नहीं है। या हो सकता है कि यह और भी सुंदर हो, लेकिन अगर आप करीब से देखें तो यह वास्तव में सुंदर नहीं है। प्रोग्रामिंग में भी ऐसा ही होता है, जहां समय पर, बिल्कुल, या एक निश्चित विनिर्देशन के दबाव के कारण विकल्प और समाधान हो सकते हैं जो अभी लागू करने के लिए तेज़ हैं , लेकिन भविष्य में काम करना कठिन है। और यह आमतौर पर "स्पेगेटी कोड", "तकनीकी ऋण", और कभी-कभी " बस कारक " के बारे में कुछ डेवलपर बड़बड़ाता है । यदि डेवलपर्स पर्याप्त भाग्यशाली हैं, तो वे तब भी जीवित रहेंगे जब एक रिफैक्टरिंग प्रयास किया जाता है: पुराने, गन्दा कोड के माध्यम से जाने और इसे साफ करने के लिए समय व्यतीत करना।

रिफ्लेक्टर Status क्यों?

जब हमने Status को एक साथ रखना शुरू किया, तो हमने इस तरह के विकल्पों का एक गुच्छा बनाया। उनमें से कुछ के बारे में आप StatusQ के बारे में हमारी पोस्ट में पढ़ सकते हैं । हम अभी भी स्थिति की दिशा का पता लगा रहे थे, और हम आवेदन में क्या सुविधाएँ चाहते थे। हमने निम में अधिकांश बैकएंड कोड लिखना समाप्त कर दिया, जो हम में से बहुतों के लिए नया था।

यह सब एप्लिकेशन को कुछ हद तक मूल बना देता है ... पहली बार में अस्पष्ट। एप्लिकेशन ने विकास जारी रखा, और जैसे-जैसे अधिक से अधिक सुविधाएँ जोड़ी गईं, योजनाएँ बनाई गईं, कोड लिखा गया, डेवलपर बड़बड़ाते हुए एक चरम पर पहुँच गया ... और एक रिफ्लेक्टर का आदेश दिया गया। हमने महसूस किया कि अपनी नींव को मजबूत किए बिना इसे जारी रखना लंबे समय तक टिकने वाला नहीं था। इतनी बात करने के लिए।

रिफैक्टरिंग प्रयास के कुछ लक्ष्य हैं:

1.हमारे कोड में ठोस सिद्धांतों का उपयोग करने के लिए

2.निम के बजाय सी ++ में बैकएंड को फिर से लिखने के लिए (जो कमाल है! लेकिन हमारी आवश्यकताओं से बिल्कुल मेल नहीं खाता; विशिष्ट मुद्दों में एकाधिक विरासत की कमी थी और अवधारणा केवल दो स्तरों का समर्थन करती थी)

3.हमारे स्वचालित परीक्षण ढांचे को बेहतर बनाने के लिए

3.अधिक विकास उपकरणों के साथ बेहतर संगतता के लिए Cmake का उपयोग करना

4.vendorहमारे पुस्तकालय की स्थिरता में सुधार करने के लिए

5.दस्तावेज़ीकरण और मानकीकरण के लिए status-libक्योंकि यह कई टीमों का समर्थन करता है

6.फ़्रंटएंड को Qt6 में अपग्रेड करने के लिए

7.UI तर्क को बेहतर ढंग से समाहित करने के लिएstores

हमने रिफैक्टर के लिए लगभग एक महीने का समय लेने की योजना बनाई थी, लेकिन उस समय भी यह कल्पना कर रहे थे कि यह थोड़ा आशावादी हो सकता है।

हमने 1 अक्टूबर को शुरू किया । वर्तमान में रिफैक्टर अभी भी चल रहा है, लेकिन हमने अब तक बहुत सारे बड़े काम किए हैं, जिसमें UI स्टोर रिफैक्टरिंग भी शामिल है। कुछ बड़ी चीजें जिन पर हम अभी भी काम कर रहे हैं, वे हैं C++ पुनर्लेखन, Cmake में संक्रमण, और Qt6 में जाना।

स्टोर

हमारे UI और Qt की थोड़ी और व्याख्या के लिए, StatusQ के बारे में हमारा (पहले उल्लेख किया गया) अंतिम लेख देखें ! storesगैर-दृश्य Qt ऑब्जेक्ट हैं जो बैकएंड के साथ इंटरैक्ट करने वाले गुणों और कार्यों के संग्रह का प्रतिनिधित्व करते हैं। जिम्मेदारी का यह अलगाव फ्रंटएंड और बैकएंड के विकास और सहयोग को आसान बनाता है।

तो आपके पास आधा तैयार रिफ्लेक्टर है ...

हमने एक बेहद महत्वाकांक्षी रिफ्लेक्टर के कुछ हिस्सों को पूरी तरह से तैयार कर लिया है! और हमारे डेवलपर्स पहले से ही प्रमाणित करते हैं कि कोड के साथ काम करना बहुत आसान है - विशेष रूप से ठोस सिद्धांतों का पालन करने के लिए ड्राइव के साथ- और यह कि रिफैक्टरिंग प्रयास ने हमारे डेवलपर्स को बेहतर बना दिया है, उन्हें बहुस्तरीय वास्तुकला में विस्तारित दृष्टि दी है, और उन्हें कई नई चीजें सिखाई हैं . और चीजों को सरल रखने का मतलब है कम निराशा, भ्रम और कोडबेस में भविष्य में बदलाव करने के लिए आवश्यक प्रयास। यदि आप रिफैक्टरिंग प्रयास के बारे में अधिक विवरण देखना चाहते हैं, तो आप यहां किए गए कुछ कार्यों को देख सकते हैं ।

तकनीकी ऋण से निपटना अच्छा है।

Comments

Popular posts from this blog

कीकार्ड: सुरक्षा सुविधाओं का अवलोकन

वेब विकास

इथेरियम सिंगल साइन-ऑन