मुझे एक बड़े वेब जावा/जे 2ee एप्लिकेशन का ऑडिट करना है जो कई वर्षों में विकसित हुआ है। यह किसी अन्य कंपनी द्वारा लिखा गया है, जिसे मैं काम नहीं कर रहा हूं। में यह वर्तमान स्थिति विकसित करना और बनाए रखना मुश्किल हो गया है, नया कार्यक्षमताओं को जोड़ना कठिन होता है और अक्सर उत्पादन में दिखाई देने वाली बग का कारण बनता है। ऐसा लगता है कि कुछ प्रतिलिपि/चिपका हुआ कोड है जिसके परिणामस्वरूप कोड डुप्लिकेशन है। वर्तमान ऐप कुछ प्रकार की ऑनलाइन शॉपिंग है जिसमें कुछ सीएमएस जैसी सामग्री है और वहां। यह ज्यादातर स्ट्रैट्स और कोड के नए हिस्सों में कुछ वसंत है, शायद अच्छे उपाय के लिए कुछ ejbs फेंक दिया गया है। कुछ यूनिट परीक्षण उपलब्ध हैं, लेकिन उनमें से बहुत कुछ नहीं। ये बातें हैं जिन्हें मैंने बताया है, मैंने अभी तक वास्तविक कोड नहीं देखा है।एक बड़ा जावा/जे 2 ई वेब एप्लिकेशन ऑडिट करने में सबसे अच्छा तरीका क्या है
मेरी कंपनी आदेश, जटिलता को कम गुणवत्ता और प्रतिरूपकता में सुधार, और यह प्रतिगमन के बिना आसान नई कार्यक्षमताओं जोड़ने के लिए संभव बनाने के लिए में इस एप्लिकेशन के कुछ हिस्सों के पुनर्लेखन के लिए एक प्रस्ताव कर देगा। कोई प्रतिबद्धता करने से पहले, वे मौजूदा कोड की गुणवत्ता के की कुछ तरह की प्रशंसा करना चाहते हैं और यह मानने के लिए कि क्रम में इसका अनुमान लगाने के लिए कितना अनुमान लगाया जा सकता है, किया - पूर्ण पुनर्लेखन या आंशिक फिर से लिखें।
पकड़ यह है कि मुझे इसे बहुत ही कम अवधि (कुछ दिनों) में करना होगा, इसलिए मैं इतनी कम समय में क्या किया जा सकता है, इसके लिए एक योजना तैयार करने की कोशिश कर रहा हूं। क्या मैं कर रहा हूँ thiking है:
- जांच "बुनियादी" बातें - अपवाद उपचार, प्रवेश करने
- जांच लेयरिंग (विचारों, नियंत्रक, दाव परत) के स्तर
- की वास्तविक कवरेज को मापने इकाई
- शायद परियोजनाओं
- पर कुछ Checkstyle, FindBugs और PMD चलाने का परीक्षण करती है ...
तो वास्तविक सवाल क्या अन्य बातों के श है क्या मैं खाता/चेक/उपाय/आदि ले सकता हूं?
मुझे यकीन नहीं है कि मैं किस प्रकार की संख्या से बाहर निकल सकता हूं और यदि इसका मतलब वास्तव में कुछ होगा, तो मुझे यह महसूस हो रहा है कि प्रबंधन क्या पूछ रहा है यह गलत है दृष्टिकोण, तो दूसरा प्रश्न होगा: क्या किसी के पास एक बेहतर विचार है?
मैं इस पर किसी भी विचार, सुझाव, टिप्पणी की सराहना करता हूं।
संपादित करें: मैं मिश्रण करने के लिए दो मृत कोड डिटेक्टरों जोड़ने होंगे: UCD और DCD
आप वास्तव में अपने हाथों को पूरा कर लिया है। मैं उन्हें सत्यापित किए बिना मौजूदा यूनिट परीक्षणों पर भरोसा नहीं करता। आपको निश्चित रूप से कुछ प्रकार के रिग्रेशन परीक्षण की आवश्यकता होगी ताकि यह सुनिश्चित किया जा सके कि पुनर्लेखित कोड अभी भी कार्यात्मक आवश्यकताओं को पूरा करता है।आपकी सूची में आइटम अच्छी शुरुआत हैं, खासकर आपके द्वारा वर्णित स्थिर विश्लेषण टूल। – rich