Claude Code से अच्छे नतीजे पाना
(dzombak.com)- पिछले कुछ महीनों में कई LLM programming agents को आज़माने के बाद Claude Code सबसे संतोषजनक टूल लगा
- Claude Code की मदद से कम समय में लगभग 12 प्रोग्राम और प्रोजेक्ट बनाए, और ऐसे काम भी कर पाए जिन्हें आम तौर पर समय की कमी के कारण शुरू नहीं किया जाता
- इसे सफलतापूर्वक इस्तेमाल करने के लिए स्पष्ट specification लिखना, प्रोजेक्ट structure, build और lint चलाने के तरीकों वाला documentation देना, AI से अपनी ही code review करवाना, और personalized global agent guide चलाना अहम है
- AI द्वारा लिखा गया code अक्सर गलत या अप्रभावी हो सकता है, इसलिए हर code और test case को खुद ज़रूर review करना चाहिए, और कमज़ोर tests को या तो खुद जोड़ना चाहिए या AI से लिखवाकर फिर दोबारा जांचना चाहिए
- परिशिष्ट के रूप में साझा की गई global agent guide में step-by-step implementation plan, test-driven development, simplicity, clarity और practicality पर आधारित सोच, quality standards, problem-solving process जैसी विस्तृत development guidelines शामिल हैं
Claude Code के उपयोग का अनुभव और प्रभाव
- पिछले कुछ महीनों में कई LLM programming agents को आज़माया, और खास तौर पर Claude Code का अनुभव सबसे बेहतर रहा
- यह पूरी तरह समस्या-मुक्त नहीं है, फिर भी कम समय में 12 से अधिक प्रोग्राम और प्रोजेक्ट पूरे किए जा सके
- Claude Code के बिना उसी अवधि में यह सब करना लगभग असंभव होता
- कई काम ऐसे थे जिन्हें समय लगने की वजह से शायद शुरू भी नहीं किया जाता
Claude Code उपयोग की रणनीति
- स्पष्ट specification लिखना
- प्रोजेक्ट शुरू करने से पहले requirements और context को साफ़-साफ़ document करके agent को देना
- इससे code लिखने की दिशा और सीमा स्पष्ट होती है
- प्रोजेक्ट structure का documentation
- build, lint और test चलाने के तरीकों वाला दस्तावेज़ तैयार रखना
- इससे agent codebase को अधिक प्रभावी ढंग से explore करके काम कर सकता है
- agent से code review करवाना
- Claude Code से उसके बनाए गए code का खुद review करवाकर अप्रत्याशित improvements या bugs खोजे जा सकते हैं
- व्यक्तिगत global guide का उपयोग
- problem-solving approach, TDD का उपयोग, simplicity और clarity बनाए रखना, प्रयासों की सीमा (3 बार) जैसी व्यक्तिगत rules वाली
~/.claude/CLAUDE.mdके जरिए एक consistent development process बनाए रखना
- problem-solving approach, TDD का उपयोग, simplicity और clarity बनाए रखना, प्रयासों की सीमा (3 बार) जैसी व्यक्तिगत rules वाली
LLM द्वारा लिखे गए code का validation
- AI-generated code में अक्सर logical errors, performance issues, अधूरे tests जैसी समस्याएँ होती हैं
- लेखक हर code को मैन्युअली review करता है और उसका व्यवहार जांचता है
- छूटे हुए test cases को खुद जोड़ता है
- या AI से लिखवाकर code और tests को फिर से review करता है
- प्रोफेशनल माहौल में, PR पर अपना नाम होने का मतलब है कि अंतिम गुणवत्ता की ज़िम्मेदारी आपकी ही है
व्यक्तिगत “global” agent guide की मुख्य बातें
यह guide ~/.claude/CLAUDE.md फ़ाइल में manage की जाती है
-
दर्शन और मुख्य सिद्धांत
- क्रमिक प्रगति: छोटे-छोटे बदलाव, और हर बार compile तथा tests pass होना
- मौजूदा code से सीखना: implementation से पहले code patterns का विश्लेषण और planning
- practicality पहले: प्रोजेक्ट की स्थिति के मुताबिक लचीला approach
- clarity पहले: पढ़ने में आसान और इरादे को साफ़ दिखाने वाला code, अनावश्यक tricks से बचाव
-
simplicity की परिभाषा
- functions और classes की एक ही ज़िम्मेदारी हो
- समय से पहले abstraction से बचें
- complexity घटाएँ और ऐसे code की ओर बढ़ें जिसे अलग से समझाने की ज़रूरत न पड़े
-
काम की प्रक्रिया
- 1. planning और चरण तय करना:
- जटिल कामों को 3~5 चरणों में बाँटकर
IMPLEMENTATION_PLAN.mdमें लिखना - हर चरण का लक्ष्य, success criteria, test cases, और progress status दर्ज करना
- जटिल कामों को 3~5 चरणों में बाँटकर
- 2. implementation flow:
- समझना → test लिखना (red) → न्यूनतम implementation (green) → refactoring → commit
- 3. 3 प्रयासों की सीमा के बाद पुनर्मूल्यांकन:
- असफल होने पर प्रयासों का विवरण, errors और कारण दर्ज करना
- alternatives खोजना (2~3 approaches)
- मूल design और problem breakdown की फिर से समीक्षा
- अलग patterns या features आज़माना
- 1. planning और चरण तय करना:
-
तकनीकी standards
- composition पहले, और dependency injection का उपयोग
- interfaces का उपयोग, ताकि testing आसान हो
- स्पष्ट data flow
- TDD की सिफारिश, tests को disable करना मना
-
code quality rules
- हर commit में compile सफल हो, tests pass हों, नई functionality के tests शामिल हों, और code style का पालन हो
- commit से पहले formatter और linter चलाना, changes की self-review करना, और "क्यों" समझाने वाला commit message लिखना
-
error handling
- जल्दी fail होना और स्पष्ट messages देना
- debugging के लिए ज़रूरी context देना
- सही स्तर पर exceptions handle करना, exceptions को छिपाना नहीं
-
decision-making criteria
- 1. testing की आसानी
- 2. 6 महीने बाद भी समझ में आने वाली readability
- 3. प्रोजेक्ट patterns के साथ consistency
- 4. simplicity
- 5. बदलाव की आसानी
-
प्रोजेक्ट integration
- समान functionality वाले 3 या अधिक उदाहरणों का विश्लेषण
- मौजूदा patterns और libraries का पुन: उपयोग
- वही test utilities इस्तेमाल करना
- नया tool लाने के लिए मज़बूत कारण होना
-
quality gates
- सभी tests pass हों
- प्रोजेक्ट rules का पालन हो
- linter warnings न हों
- commit message स्पष्ट हो
- implementation plan के अनुरूप हो
- TODO में issue number शामिल हो
-
testing guidelines
- implementation नहीं, behavior-केंद्रित tests
- जहाँ संभव हो, हर test में एक assertion
- scenario बताने वाले स्पष्ट नाम
- मौजूदा test utilities का पुन: उपयोग
- tests deterministic होने चाहिए
-
पूरी तरह निषिद्ध
--no-verifyसे hooks को bypass करना- tests disable करना
- compile न होने वाला code commit करना
- verification के बिना अनुमान लगाना
-
अनिवार्य रूप से करना है
- क्रमिक commits
- documentation को लगातार update करना
- मौजूदा implementation से सीखना
- 3 बार असफल होने के बाद approach का पुनर्मूल्यांकन
Claude Code से बनाए गए open source projects
- HTML/XML-aware reverse proxy (cdzombak/xrp)
- VS Code Solarized theme (light/dark) (cdzombak/dzsolarized-vscode)
- Flickr photostream RSS generator (cdzombak/flickr-rss)
- Lychee photo library metadata tool (cdzombak/lychee-meta-tool)
- macOS screen lock status MQTT reporting (cdzombak/macos-screenlock-mqtt)
- Lychee Bird Buddy photo title auto-setting (cdzombak/lychee-birb-title)
- local LLM-based photo auto-organization (cdzombak/lychee-ai-organizer)
- macOS के लिए software bulk-install automation (cdzombak/mac-install)
- RSS service project (cdzombak/rss.church)
- Flickr photos का full/selective export और metadata preservation (cdzombak/flickr-exporter)
- static HTML gallery generator (cdzombak/gallerygen)
अभी कोई टिप्पणी नहीं है.