JSDoc - JSDoc

JSDoc
Dastlabki chiqarilish1999; 21 yil oldin (1999)
Oxirgi nashr
3.6.3
(2019 yil 15-iyul); 16 oy oldin (2019-07-15))
Format turiDasturlash hujjatlari formati
TarkibidaJavaScript manba fayllari
KengaytirilganJavaDoc
Ochiq format ?Ha
Veb-saytjsdoc.app

JSDoc a belgilash tili izohlash uchun foydalanilgan JavaScript manba kodi fayllar. Foydalanish Izohlar JSDoc-ni o'z ichiga olgan dasturchilar dastur dasturlash interfeysi ular yaratayotgan kodning. Keyinchalik, turli xil vositalar bilan ishlov berilib, o'xshash formatlarda hujjatlarni ishlab chiqarish mumkin HTML va Boy matn formati. JSDoc spetsifikatsiyasi ostida chiqarilgan CC BY-SA 3.0, uning sherigi esa hujjatlar generatori va tahlilchi kutubxonasi bepul dasturiy ta'minot ostida Apache litsenziyasi 2.0.

Tarix

JavaScript-ni hujjatlashtirish uchun Javadoc-ga o'xshash sintaksisdan foydalangan dastlabki misol 1999 yilda Netscape /Mozilla loyiha Rhino, JavaScript ish vaqti tizimi yozilgan Java. Uning tarkibiga JavaScript imkoniyatlariga misol sifatida 1,3 ga qadar ishlab chiqarilgan "JSDoc" o'yinchoq HTML generatori kiritilgan.[1]

"JSDoc" ning barcha asosiy avlodlarini mikmatlar boshqargan (Maykl Metyuz). U 2001 yilda JSDoc.pm-dan boshlagan, oddiy tizim yozilgan Perl, Kanadalik dasturchi Gabriel Reid bilan hamkorlikda. U joylashtirilgan SourceForge a CVS ombori.[2] JSDoc 1.0 (2007) tomonidan u tizimni JavaScript-da qayta yozdi (yana Rhino uchun) va kengaytmalar to'plamidan so'ng JSDoc 2.0 (2008) "jsdoc-toolkit" nomini oldi. Ostida chiqarilgan MIT litsenziyasi, u a-da bo'lib o'tdi Subversion ombori kuni Google kodi.[3] 2011 yilga kelib u tizimni JSDoc 3.0-ga qayta tikladi va natijani joylashtirdi GitHub. Endi u ishlaydi Node.js.[4]

JSDoc sintaksis va semantikasi o'xshashlariga o'xshaydi Javadoc Java-da yozilgan kodni hujjatlashtirish uchun ishlatiladigan sxema. JSDoc Javadoc-dan farq qiladi, chunki u JavaScript-ni boshqarish uchun ixtisoslashgan dinamik xulq-atvor.[4]

JSDoc teglari

Zamonaviy JSDoc-da ishlatiladigan ba'zi mashhur izoh teglari:

TegTavsif
@avtorTuzuvchi nomi
@struktorFunksiyani konstruktor sifatida belgilaydi
@ eskirganUsulni eskirgan deb belgilaydi
@ istisnoSinonimi @ otish
@eksportModul tomonidan eksport qilinadigan a'zoni aniqlaydi
@paramMetod parametrini hujjatlashtiradi; jingalak qavslar orasida ma'lumot turi indikatori qo'shilishi mumkin
@ xususiyA'zoning shaxsiy ekanligini bildiradi
@returnsQaytish qiymatini hujjatlar
@ qaytishSinonimi @returns
@seeAssotsiatsiyani boshqa ob'ektga hujjatlashtiradi
@qilmoqYo'q / ochiq bo'lgan narsalarni hujjatlashtirish
@ buKalit so'z qaysi ob'ekt turini belgilaydi bu funktsiya doirasida murojaat qiladi.
@ otishHujjatlar usuli bilan chiqarilgan istisno
@versionKutubxonaning versiya raqamini taqdim etadi

Misol

/ ** @class Circle - bu doirani ifodalaydi. * /sinf Doira {/** * Circle nusxasini yaratadi. * * @struktor * @avtor: moi * @param {number} r doiraning kerakli radiusi. */  konstruktor(r) {    / ** @ xususiy * / bu.radius = r    / ** @ xususiy * / bu.atrofi = 2 * Matematika.PI * r  }  /**   * Diametrdan yangi doirani yaratadi.   *   * @param {number} d aylananing kerakli diametri.   * @return {Circle} Yangi Circle ob'ekti.   */  statik diametri(d) {    qaytish yangi Doira(d / 2)  }  /**   * Doira atrofini hisoblab chiqadi.   *   * 1.1.0 dan beri eskirgan; Buning o'rniga getCircumference-dan foydalaning   * @return {number} Doira atrofi.   */  countCircumference() {    qaytish 2 * Matematika.PI * bu.radius  }  /**   * Doiraning oldindan hisoblangan atrofini qaytaradi.   *   * @return {number} Davraning atrofi.   * @ 1.1.0 yildan beri   */  getCircumference() {    qaytish bu.atrofi  }  /**   * Doira tasvirini toping.   *   * @ override   * @return {string} Ushbu doiraning inson tomonidan o'qilishi mumkin bo'lgan vakili.   */  toString() {    qaytish `[Radiusi radiusi bo'lgan aylana ob'ekti ${bu.radius}.]`  }}/** * Doira bosib chiqaradi. * * @param {Circle} doirasi */funktsiya printCircle(doira) {    / ** @bu {Circle} * /    funktsiya bog'langan() { konsol.jurnal(bu) }    bog'langan.murojaat qilish(doira)}

E'tibor bering @klass va @struktor aslida teglar chiqarib tashlanishi mumkin: ECMASyntax ularning identifikatorlarini aniq ko'rsatish uchun etarli va JSDoc bundan foydalanadi.[5] @override avtomatik ravishda ham chiqarilishi mumkin.[6]

JSDoc ishlatilmoqda

  • Google's Closure Linter va Yopish kompilyatori. Ikkinchisi JavaScript-ni chiqarishni optimallashtirish uchun turdagi ma'lumotni chiqaradi.
  • TypeScript JSDoc tipli izohlar bilan JavaScript fayllari uchun turni tekshirishni amalga oshirishi mumkin.[7] Microsoft kengaytiriladigan teglar bilan yangi TSDoc tilini ko'rsatdi.
  • Ommabop muharrir Yuqori matn DocBlockr yoki DoxyDoxygen plaginlari orqali JSDoc-ni qo'llab-quvvatlaydi
  • JSDoc sintaksisi Apress kitobida uzoq vaqt tasvirlangan Ajax asoslari ISBN  1-59059-582-3.
  • IntelliJ IDEA, NetBeans, Visual Studio kodi va RubyMine JSDoc sintaksisini tushunish.
  • Tutilishga asoslangan Aptana studiyasi ScriptDoc-ni qo'llab-quvvatlaydi.
  • Mozile, Mozilla Inline muharriri JSDoc.pm dan foydalanadi.
  • The Helma dastur doirasi JSDoc-dan foydalanadi.
  • SproutCore hujjatlari JSDoc yordamida yaratilgan. [1]
  • Visual Studio, WebStorm va boshqa ko'plab narsalar Integratsiyalashgan rivojlanish muhiti yoki Matn muharrirlari kodni to'ldirish va JSDoc sharhlari asosida boshqa yordamlarni taklif qilish.
  • Ochiq manba Atom muharriri JSDoc-ni atom-oson-jsdoc plagin.

Shuningdek qarang

Adabiyotlar

  1. ^ "Rhino misoli: jsdoc.js". GitHub. Mozilla loyihasi. 1999 yil 6-may.
  2. ^ "JSDoc". SourceForge. Konvertatsiya qilish
  3. ^ "jsdoc-toolkit". Google kodi. Konvertatsiya qilish
  4. ^ a b "JSDoc". GitHub. jsdoc. 4 sentyabr 2019 yil. Olingan 4 sentyabr 2019.
  5. ^ "ES 2015 darslari". JSDoc-dan foydalaning.
  6. ^ "@override". JSDoc-dan foydalaning.
  7. ^ "JavaScript fayllarini tekshirishni yozing". TypeScript hujjatlari.

Tashqi havolalar