• AI coding assistants प्रोजेक्ट की मंशा अपने-आप नहीं समझ सकते, इसलिए डेवलपर context·goal·examples कितनी अच्छी तरह देता है, इस पर output quality काफी हद तक निर्भर करती है
  • Debugging में सिर्फ code और error फेंकने के बजाय expected behavior, actual behavior, और execution environment साथ में देना चाहिए, और line-by-line tracing या minimum reproducible example से समस्या का दायरा संकरा करना चाहिए
  • Refactoring और optimization के लिए “इसे बेहतर बनाओ” कहना काफी नहीं है; duplication हटाना, parallel processing, error handling बनाए रखना, version constraints जैसी success criteria को स्पष्ट करना चाहिए
  • नए feature implementation में पूरे काम को एक बार में देने के बजाय plan, skeleton, state management, API integration, और edge cases को छोटे चरणों में बाँटकर review करते हुए आगे बढ़ना ज्यादा सुरक्षित है
  • अस्पष्ट सवाल, जरूरत से ज्यादा मांगें, बिना सवाल का code dump, और unclear references नतीजों को अस्थिर बनाते हैं; AI को one-off generator की बजाय iterative conversational pair programmer की तरह इस्तेमाल करना चाहिए

AI coding assistants का बेहतर उपयोग करने के मूल सिद्धांत

  • AI coding assistants function autocomplete, bug fix suggestions, और module या MVP generation तक में मदद कर सकते हैं, लेकिन प्रोजेक्ट की ठोस मंशा उस जानकारी पर निर्भर करती है जो उपयोगकर्ता देता है
  • अच्छा prompt AI को “शब्दशः समझने वाले collaborator” की तरह मानकर चलता है, और चाहा गया परिणाम व format स्पष्ट रूप से बताता है
  • मूल सिद्धांत इस प्रकार हैं
    • समृद्ध context दें: language, framework, library, संबंधित functions या code snippets, सटीक error messages, और expected behavior शामिल करें
    • लक्ष्य को विशिष्ट बनाएं: “यह क्यों नहीं चल रहा?” की बजाय “यह JavaScript function expected value की जगह undefined क्यों लौटाता है और इसे कैसे ठीक करें” जैसे संकरे सवाल पूछें
    • जटिल काम को विभाजित करें: बड़े feature को एक बार में न मांगें; React component skeleton बनाना, state management जोड़ना, API calls integrate करना जैसे क्रमिक चरणों में आगे बढ़ें
    • input/output examples दें: जैसे [3,1,4] input पर [1,3,4] return होना चाहिए—ऐसे उदाहरण requirements की अस्पष्टता कम करते हैं
    • role तय करें: “senior React developer”, “JavaScript performance expert”, “code reviewer” जैसी role देने से जवाब की गहराई और शैली को समायोजित किया जा सकता है
    • iterate और refine करें: अगर पहला जवाब सही न हो, तो recursion की जगह loop इस्तेमाल करने, variable names सुधारने, comments जोड़ने जैसे follow-up requests से दिशा ठीक करें
    • code clarity बनाए रखें: अर्थपूर्ण function names और variable names, consistent formatting, comments और docstrings AI को code intent समझने में मदद करते हैं

Debugging prompt patterns

  • Debugging request में यह शामिल होना चाहिए कि code को क्या करना है, वास्तव में क्या गलत हो रहा है, और कौन-सी error आ रही है
  • एक अच्छा debugging prompt आम तौर पर निम्न जानकारी शामिल करता है
    • उपयोग की जा रही language और execution environment
    • problem code
    • सटीक error message या गलत output
    • expected output
    • example input
    • पहले से आजमाए गए तरीके
  • जटिल logic bugs में AI से line-by-line execution trace मांगा जा सकता है ताकि state changes को ट्रैक किया जा सके
    • उदाहरण: “इस function में total की value हर चरण में कैसे बदलती है, इसे trace करो और बताओ कि accumulation कहाँ गलत हो रहा है”
  • भले ही codebase बड़ा हो, अगर bug को reproduce करने वाला छोटा code snippet बनाया जा सकता है, तो उसे minimum reproducible example के रूप में देना बेहतर है
  • अगर पहला जवाब केवल आंशिक रूप से उपयोगी हो, तो “corrected code दिखाओ”, “समझाओ कि यह बदलाव समस्या को क्यों हल करता है” जैसे follow-up सवाल पूछे जा सकते हैं

Debugging उदाहरण: अस्पष्ट सवाल और बेहतर सवाल

  • उदाहरण code mapUsersById(users) एक Node.js/JavaScript function है जो users array को ID-आधारित object में बदलने की कोशिश करता है
  • bug है `for (let i = 0; i

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.