हाल ही में, मैं से एक बड़ी परियोजना बदल कोको को कार्बन। इसके अंत में, वहां कुछ अनाथ फाइलें थीं जिनका अब उपयोग नहीं किया गया था।मैं एक पटकथा लिखी उन्हें खोजने के लिए कि अनिवार्य रूप से ऐसा किया: तब
स्रोत सुनिश्चित करें कि सभी तोड़फोड़ करने के लिए (यानी स्वच्छ) में चेक किया गया है यह वर्तमान में त्रुटि के बिना बनाता है सुनिश्चित करें (यानी, xcodebuild 0 स्थिति देता है) , प्रत्येक स्रोत के लिए निर्देशिका में फ़ाइल, खाली (यानी, सामग्री को हटाएं, लंबाई को छोटा करें) स्रोत और हेडर फ़ाइल, बिल्ड करने का प्रयास करें, अगर यह विफल हो जाए, तो फ़ाइलों को वापस लाएं, अन्यथा, उन्हें खाली छोड़ दें।
इसे चलाने के बाद, सभी रिक्त फ़ाइलों को वापस लाएं और हटाएं, संकलित करें और फिर सभी त्रुटि # आयातों को हटा दें।
मुझे यह भी जोड़ना चाहिए, आपको .xib या .sdef फ़ाइलों से संदर्भित फ़ाइलों से बचने की आवश्यकता है, और अन्य गतिशील लिंकिंग मामले हो सकते हैं, लेकिन यह आपको अभी भी हटाया जा सकता है पर एक अच्छा नेतृत्व दे सकता है।
एक ही तकनीक का उपयोग यह देखने के लिए किया जा सकता है कि #imports को हटाया जा सकता है - फ़ाइल को छोटा करने के बजाय, फ़ाइल में प्रत्येक #import को बदले में हटाएं और देखें कि बिल्ड विफल हो गया है या नहीं।
स्रोत
2009-09-23 01:11:00
http://clang-analyzer.llvm.org/ – slf
मुझे यकीन है कि क्या अपनी बात है नहीं कर रहा हूँ ...स्थिर विश्लेषक बहुत सारी समस्याएं पा सकते हैं, लेकिन यदि आप ** 'id' ** के रूप में टाइप किए गए चर के लिए एक संदेश भेजते हैं, या रनटाइम पर कॉल करने के लिए चयनकर्ता बनाते हैं, तो स्थिर विश्लेषक गारंटी नहीं दे सकता कि कोड वास्तव में है अप्रयुक्त। यदि अभी भी आवश्यक कोड को हटा दिया गया है, तो वह जगह है जहां आपको रनटाइम त्रुटियां मिलेंगी। क्या मैं कुछ भूल रहा हूँ? –
इसके अलावा, रनटाइम पर तारों के आधार पर बनाए गए चयनकर्ता काफी आम हैं। – dreamlax