कोड नेविगेट करना
VIM से बेहतर संपादक पाएं।
मैं कोमोडो एडिट का उपयोग करता हूं।
मुझे ऐसा लगता है कि मुझे याददाश्त के लिए बहुत कुछ करना है
अच्छा। सोच अच्छी है। मुझे लगता है कि "सीखने" अंततः "स्मृति" की ओर जाता है।
लगातार "grep" और इंटरफेस की पहचान करने के लिए कोड के माध्यम से पढ़ें।
यह विशिष्ट है। यदि आप उन्हें याद नहीं कर सकते हैं, तो वे बहुत जटिल हैं, वे नहीं हैं? सरल करने का समय।
सरल बनाना कठिन है। लेकिन जब आपको याद रखने में परेशानी होती है, तो यह खराब डिजाइन का लक्षण है।
मैं grep का उपयोग करता हूं। इससे मेरा काम बनता है। मेरे कोमोडो एडिट में बहुत अच्छी खोज है। तो नोटपैड ++ करता है
उन वस्तुओं के इंटरफेस की पहचान करना जो मैं उपयोग कर रहा हूं
डॉक्टर स्ट्रिंग्स और help()
फ़ंक्शन काम करते हैं। मैं उनका उपयोग करता हूं। रोज।
कुशलता से रिफलेक्ट करना ... यह मेरी इकाई परीक्षणों की गुणवत्ता पर निर्भर करता है।
यह खबर नहीं है। यह हमेशा सच है, यहां तक कि एक स्थिर भाषा में भी।
एक स्थिर भाषा में, हम अक्सर आलसी हो जाते हैं, यह मानते हुए कि - जब तक यह संकलन है - यह वास्तव में काम करने की संभावना है। यह प्रकट रूप से गलत है, लेकिन हम आलसी हो जाते हैं।
मुझे यकीन है कि इन समस्याओं के लिए समाधान हैं।
ये "समस्याएँ" नहीं हैं और इन्हें "वर्कआर्ड" की आवश्यकता नहीं है।
एक गतिशील भाषा ठीक उसी प्रकार के बारे में है जो आपके द्वारा हेरफेर की गई वस्तुओं के प्रकार को नहीं जानती है। जब आप एक पैरामीटर प्राप्त करते हैं, तो आप यह मानते हैं कि यह एक "क्वैक ()" और एक "पंख ()" विधि को परिभाषित करता है, लेकिन आप नहीं जानते कि जहां प्रलेखन है (वास्तव में, उनके कई कार्यान्वयन में कई डॉकस्ट्रिंग होंगे)।
"वस्तुओं के प्रकार को नहीं जानना"? वास्तव में। जब मैं किसी ऑब्जेक्ट के क्लाइंट को डिजाइन करता हूं, तो मुझे पता होता है कि मैंने किस प्रकार का डिजाइन किया है।
जब मैं एक सेवा, कई ग्राहकों द्वारा इस्तेमाल किया परिभाषित करते हैं, "सटीक" प्रकार नहीं प्रासंगिक है, जब मैं का एक परिभाषित आवश्यक इंटरफ़ेस है quack()
और feathers()
।
अंत में, मेरे पास रीड-एक्सक्यूट-प्रिंट-लूप और अन्य उपकरण हैं जो दुर्लभ मामलों में "सटीक" प्रकार का निर्धारण करते हैं जब मुझे सूक्ष्म समस्या होती है। यही मैं वास्तव में हर दिन का उपयोग करता हूं।
>>> x = some_mystery_factory( some, args )
>>> type(x)
>>> dir(x)
बहुत मुश्किल नहीं लगता - कम से कम पायथन में - एक वस्तु के प्रकार को खोलना। गतिशील भाषाओं में एक REPL होना चाहिए, जिससे यह देखना बहुत आसान हो जाए कि क्या चल रहा है।
आप अपेक्षित पैरामीटर आदेश नहीं जानते हैं। आईडीई के लिए वहां मदद करना कठिन लगता है।
यह बहुत मतलब नहीं है। help()
काम करता है।
और मेरी आईडीई अक्सर परिभाषा का पता लगा सकती है। हमेशा नहीं - कुछ जटिल गतिशील निर्माण आसानी से आधार वर्ग को छिपा सकते हैं। उस मामले में, मुझे विधि की परिभाषा का पता लगाने के लिए वास्तव में ऑब्जेक्ट की कक्षा के बारे में सोचना होगा। बेशक, मैं कोड लिख रहा हूं, इसलिए वहां बहुत कम (या नहीं) रहस्य है।