Zig Academy · पाठ

बहु-फ़ाइल प्रोजेक्ट की संरचना

मॉड्यूल व्यवस्थित रूप से संगठित कीजिए।

पाठ 2, कुल 4 में से13 चरण

बहु-फ़ाइल प्रोजेक्ट की संरचना, CoddyKit पर Zig Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Zig Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Zig Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

एक फ़ाइल भरने लगती है

जैसे-जैसे प्रोग्राम बढ़ता है, एकल मुख्य फ़ाइल कोड की दीवार बन जाती है। उसे केंद्रित files में बाँटने से हर भाग पढ़ने योग्य रहता है। 🗂️

main.zig प्रवेश-बिंदु है

आपका निष्पादन योग्य प्रोग्राम main.zig से शुरू होता है, जहाँ main फ़ंक्शन रहता है। यह अन्य फ़ाइलों को इम्पोर्ट करके प्रोग्राम को एक साथ जोड़ता है।

const greet = @import("greet.zig");

ज़िम्मेदारी के आधार पर समूह बनाएँ

संबंधित कोड को एक फ़ाइल में रखें: parser.zig में पार्सिंग और render.zig में आउटपुट। हर फ़ाइल की स्पष्ट responsibility और छोटा इंटरफ़ेस हो।

फ़ाइल एक मॉड्यूल होती है

फ़ाइल एक संरचना होने के कारण, उसे इम्पोर्ट करने पर आपको सुव्यवस्थित module मिलता है। उसके pub फ़ंक्शन और प्रकार उस मॉड्यूल का सार्वजनिक API बनाते हैं।

const parser = @import("parser.zig");
const ast = parser.parse(input);

बड़े प्रोजेक्ट के लिए फ़ोल्डर उपयोग करें

फ़ाइलों को src/net या src/cli जैसे folders में समूहित करें। फ़ोल्डर नाम वाले सापेक्ष पथ से उन्हें इम्पोर्ट करें।

const http = @import("net/http.zig");

एक स्थान से फिर से उपलब्ध कराएँ

एक छोटी root फ़ाइल कई फ़ाइलों के हिस्सों को फिर से उपलब्ध करा सकती है, जिससे कॉल करने वालों को पूरे मॉड्यूल को एकत्र करने वाला एकल इम्पोर्ट मिलता है।

pub const http = @import("http.zig");
pub const dns = @import("dns.zig");

API छोटा रखें

केवल उन्हीं चीज़ों को pub चिह्नित करें जिनकी कॉल करने वालों को वास्तव में आवश्यकता है। बाकी सब निजी रहें, ताकि अन्य फ़ाइलों को तोड़े बिना आंतरिक कोड को बदला जा सके।

प्रकार भी आगे जाते हैं

फ़ाइलें केवल फ़ंक्शन ही नहीं, प्रकार भी निर्यात करती हैं। shapes.zig में मौजूद pub struct या enum, जहाँ भी इम्पोर्ट किया जाए, shapes.Circle बन जाता है।

const shapes = @import("shapes.zig");
var c: shapes.Circle = undefined;

चक्रों से सावधान रहें

एक-दूसरे को इम्पोर्ट करने वाली दो फ़ाइलें cycle बना सकती हैं। Zig कई मामलों को सहन करता है, लेकिन बेहतर संरचना में साझा प्रकार तीसरी फ़ाइल में रखे जाते हैं।

परीक्षण कोड के पास रहते हैं

हर फ़ाइल अपने जाँचे जाने वाले कोड के पास test ब्लॉक रख सकती है। फ़ाइलों को बाँटने से संबंधित परीक्षण उस कोड के पास रहते हैं जिसे वे सत्यापित करते हैं।

test "add works" {
    try std.testing.expect(add(2, 2) == 4);
}

फ़ाइलों के नाम पूर्वानुमेय रखें

ऐसे स्पष्ट, छोटे अक्षरों वाले फ़ाइल names रखें जो उनकी सामग्री का संकेत दें, जैसे token.zig या config.zig। अच्छे नाम इम्पोर्ट को लगभग गद्य जैसा पढ़ने योग्य बनाते हैं।

const config = @import("config.zig");

त्वरित जाँच

याद कीजिए कि एक फ़ाइल अपनी सुविधाएँ दूसरी फ़ाइल के लिए कैसे उपलब्ध कराती है।

पुनरावलोकन

आपने देखा कि कोड को केंद्रित files और फ़ोल्डरों में कैसे बाँटना है, छोटा pub API कैसे उपलब्ध कराना है और एक रूट मॉड्यूल के माध्यम से फिर से निर्यात कैसे करना है। 🎯

शुरुआत निःशुल्क

एआई शिक्षक के साथ Zig सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
30
पाठ
120

अक्सर पूछे जाने वाले प्रश्न

क्या “बहु-फ़ाइल प्रोजेक्ट की संरचना” पाठ निःशुल्क है?

हाँ—“बहु-फ़ाइल प्रोजेक्ट की संरचना” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Zig Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Zig Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“बहु-फ़ाइल प्रोजेक्ट की संरचना” में मैं क्या सीखूँगा?

मॉड्यूल व्यवस्थित रूप से संगठित कीजिए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Zig Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Zig Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Zig Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।

“बहु-फ़ाइल प्रोजेक्ट की संरचना” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Zig Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Zig Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. @import से Files Import करना
  2. बहु-फ़ाइल प्रोजेक्ट की संरचना
  3. build.zig.zon और पैकेज प्रबंधक
  4. तृतीय-पक्ष मॉड्यूल जोड़ना
← Zig Academy पर वापस जाएँ