तो एपीआई दस्तावेज़ीकरण को इस तरह से क्यों लिखा जाता है जैसे कि बारहमासी नवाबों / हैकर्स / DIYers को भ्रमित करना?
यह वास्तव में इस तरह से लिखे जाने का मतलब नहीं है। मैं मानता हूँ कि एपीआई दस्तावेज़ों में उपयोग में आसानी नहीं होगी। हालाँकि, पुराने man
स्टाइल के सिंटैक्स कन्वेंशन से लेकर आधुनिक एपीआई / नेमस्पेस कन्वेंशन तक बहुत कुछ क्रॉस किया जाता है ।
आमतौर पर, एपीआई के साथ काम करने वाले व्यक्ति का प्रकार विकास में कुछ पृष्ठभूमि या कम से कम एक 'पावर उपयोगकर्ता' होगा। इस प्रकार के उपयोगकर्ताओं को इस तरह के वाक्यविन्यास सम्मेलनों के लिए उपयोग किया जाता है और यह एपीआई दस्तावेज़ के लिए नए लोगों को बनाने की कोशिश करने की तुलना में अधिक समझ में आता है।
क्या कहीं कोई रहस्यमय दस्तावेज है जो लोगों को एपीआई प्रलेखन को पढ़ने के तरीके बताता है?
वास्तव में कोई मानक नहीं है, या RFC, कहीं भी चारों ओर बिछाने supersekretsyntaxdoc, हालांकि UNIX मैन पेज सिनॉप्सिस प्रारूप के लिए एक ~ 30 वर्ष पुरानी फ़ाइल है जो व्यापक उपयोग है।
इसके कुछ उदाहरण (और आपके प्रश्न का उत्तर) होंगे:
रेखांकित शब्दों को शाब्दिक माना जाता है, और जैसे ही वे दिखाई देते हैं, टाइप किया जाता है।
स्क्वायर ब्रैकेट ([]) एक तर्क के आसपास इंगित करता है कि तर्क वैकल्पिक है।
दीर्घवृत्त ... का उपयोग यह दिखाने के लिए किया जाता है कि पिछले तर्क-प्रोटोटाइप को दोहराया जा सकता है।
माइनस साइन के साथ शुरू होने वाला एक तर्क - अक्सर कुछ प्रकार के फ्लैग तर्क का अर्थ लिया जाता है, भले ही यह एक ऐसी स्थिति में दिखाई देता है जहां एक फ़ाइल नाम दिखाई दे सकता है।
लगभग सभी प्रोग्रामिंग संबंधित प्रलेखन इस प्रकार के वाक्यविन्यास सम्मेलन का उपयोग करता है, पायथन से , मैन पेज , जावास्क्रिप्ट लिबास ( हाईचर ), आदि।
एडोब एपीआई से अपने उदाहरण को तोड़कर
fillPath
([fillColor]
[, mode]
[, opacity]
[, preserveTransparency] [, feather]
[, wholePath] [, antiAlias])
हम देखते हैं कि fillPath()
(एक फ़ंक्शन) वैकल्पिक तर्क लेता है fillColor, mode, opacity, preserveTransparency, feathe, wholePath
या antiAlias
। कॉलिंग fillPath()
, आप उन मापदंडों में से किसी को, सभी को, कहीं से भी पारित कर सकते हैं। वैकल्पिक के भीतर अल्पविराम का []
अर्थ है कि यदि यह पैरामीटर दूसरों के अतिरिक्त उपयोग किया जाता है, तो आपको इसे अलग करने के लिए अल्पविराम की आवश्यकता है। (सामान्य ज्ञान कभी-कभी, निश्चित रूप से, लेकिन कभी-कभी कुछ भाषाओं जैसे VB, को स्पष्ट रूप से उन अल्पविरामों की आवश्यकता होती है जो ठीक से परिसीमन करने के लिए हैं। पैरामीटर गायब है!)। चूँकि आपने प्रलेखन से लिंक नहीं किया था (और मैं इसे Adobe के स्क्रिप्टिंग पेज पर नहीं खोज सकता ) वास्तव में यह जानने का कोई तरीका नहीं है कि Adobe API किस प्रारूप की अपेक्षा कर रहा है। हालाँकि, भीतर उपयोग किए जाने वाले सम्मेलनों की व्याख्या करने वाले अधिकांश प्रलेखन के शीर्ष पर एक स्पष्टीकरण होना चाहिए ।
इसलिए, इस फ़ंक्शन का उपयोग कई तरीकों से किया जा सकता है:
fillPath() //Nothing passed
fillPath(#000000,RGB) // Black, in RGB mode
fillPath(#000000,RGB,50) // Black, in RGB mode, half opacity
//Now it gets tricky, this might ALSO be acceptable:
fillPath(#000000,50) // Black, no mode, half opacity
//OR
fillPath(#000000,,50) // Black, no mode, half opacity
फिर, आमतौर पर एपीआई / प्रोग्रामिंग से संबंधित सभी दस्तावेजों में कुछ मानक हैं। हालांकि प्रत्येक डॉक्टर में, सूक्ष्म अंतर हो सकते हैं। एक बिजली उपयोगकर्ता, या डेवलपर के रूप में, आपको उन दस्तावेज़ों / रूपरेखाओं / पुस्तकालयों को पढ़ने और समझने में सक्षम होने की उम्मीद है जिनका आप उपयोग करने का प्रयास कर रहे हैं।