2010-06-04 8 views
8

में कक्षा संबंधों को देखने के लिए क्या विकल्प हैं I Python प्रोग्राम बनाए रख रहे हैं, और विभिन्न वर्गों के बीच संबंधों को समझने के लिए संघर्ष कर रहा हूं। मुझे लगता है कि कक्षाएं कैसे बातचीत करती हैं इसका आरेख देखना उपयोगी होगा।पाइथन प्रोग्राम

क्या विकल्प उपलब्ध हैं जो मुझे ऐसा करने की अनुमति दे सकते हैं?

उत्तर

2

बस मेरे 2 सेंट।

Case tools जैसे Enterprise Architect पायथन कोड से कक्षा आरेख उत्पन्न कर सकते हैं, हालांकि समझने के उद्देश्य के लिए मैं हाथों से कक्षाओं और रिश्तों को मोटे तौर पर मॉडल करना पसंद करता हूं।

मैं भी यूएमएल का उपयोग करता हूं जब मैं नए कोड को समझना चाहता हूं, कक्षाओं के बीच सहयोग का मोटे अवलोकन पाने के लिए, और विरासत विरासत का दृश्य प्राप्त करने के लिए।

अधिकांश आईडीई का मतलब कोड का पता लगाने का मतलब है, लेकिन मुझे छोटे कोचिव यूएमएल आरेखों को पचाने और याद रखने में आसान लगता है।

मुझे क्लास आरेख पर कब समझने के लिए डोमेन मॉडल को आसान लगता है।

1

आप IDEs कि सुविधा है, तो मांग कर रहे हैं, तो:

  1. Komodo
  2. Pydev for eclipse
+1

क्या आप पाइडेव कोड विश्लेषण का जिक्र कर रहे हैं? यह मेरे लिए ग्राफिकल नहीं दिखता है –

1

gaphor में पाइथन मॉड्यूल आयात करने और उम क्लास आरेख उत्पन्न करने की सुविधा है, वैसे भी यह इतना अच्छा नहीं है।

वैसे भी, अजगर पर कोड विश्लेषण उपकरण बहुत अच्छी तरह से काम नहीं करते हैं क्योंकि कोई भी "भविष्यवाणी" नहीं कर सकता है कि कौन से तर्क कार्य द्वारा पारित किए जाएंगे (या लौटाए जाएंगे)। उनमें से ज्यादातर "अनुमान" प्रकार पारित किया।

उम्मीद है कि "समारोह एनोटेशन" के साथ अजगर 3 "समस्या"

1

ग्रेट सवाल इस तरह की हल कर सकते हैं! आप कैसे हैं, इस पर निर्भर करते हुए, आप अपने कोड के एक रन पर ट्रेस मॉड्यूल का उपयोग करने पर विचार कर सकते हैं।

python -m trace -T yourprogram.py 

आपको कौन-सी जानकारी दी जाएगी। आप या तो इसे पार्स कर सकते हैं, या कुछ कोड लिख सकते हैं जो आपके कॉल ग्राफ़ को निकालने के लिए प्रोग्रामिक रूप से ट्रेस का उपयोग करते हैं।

एक बार ऐसा करने के बाद, dot हैकिंग का थोड़ा सा, और आपके पास एक आरेख है। एक बार ऐसा करने के बाद, यह आपके द्वारा किए गए कार्यों के बारे में एक अच्छा ब्लॉग पोस्ट करेगा और यह कैसे काम करता है।

0

यदि यह Django यदि आप Django का उपयोग कर रहे आप भी

./manage.py graph_models 

कर सकते हैं कमांड Extenstions

संबंधित मुद्दे