मुझे यह हाल ही में 100,000 से अधिक LOC की परियोजना के साथ करना था। मेरा पहला विचार यह था कि पाठ की 100,000 लाइनों की तुलना में 100 या 1000 नोड्स के ग्राफ से पैटर्न देखना आसान है।
इसलिए मैंने 45 मिनट बिताए और एक छोटी (<100LOC) पायथन कार्यक्रम लिखी, जो मुझे इसकी आवश्यकता थी, उसे पार्स करने के लिए और वस्तु संबंधों को आकर्षित करने के लिए। मैंने ग्राफविज़ स्रोत उत्पन्न किया , जो उत्पन्न करने के लिए वास्तव में आसान भाषा है। (यहां पाइथन के बारे में कुछ खास नहीं है: रूबी या सी # या कॉमन लिस्प या जो भी कर सकता था, वह ठीक है।)
अन्य परियोजनाओं पर, मैंने देखा है कि लोग मॉड्यूल निर्भरता, कॉल ग्राफ़, संस्करण इतिहास, सभी प्रकार की चीजों के लिए ग्राफविज़ का उपयोग करते हैं। महानतम प्रोग्राम विज़ुअलाइज़ेशन मेटा-टूल कभी।
(शायद यह इसलिए है क्योंकि मैंने कंपाइलर लिया था , लेकिन मुझे यह अजीब लगता है कि जब प्रोग्रामर को किसी समस्या का सामना करना पड़ता है, तो उत्तर हमेशा "एक प्रोग्राम लिखो!" लगता है, सिवाय तब जब समस्या प्रोग्राम के स्रोत कोड को शामिल करती है।: - )