JSDoc

JSDoc JavaScript kaynak dosyalarına ek açıklama için kullanılan metin işaretleme dilidir. JSDoc yorumları kullanarak programcılar uygulamanın ne yaptığını yazabilir ve bunu dokümante edebilir. Bundan sonra yazılanlar farklı araçlar vasıtası ile HTML veya Zengin Metin Biçimi haline getirilir.

Tarih En erken Javadoc stili yazım 1999'da Netscape / Mozilla projesi olarak yayınlandı. Rhino Java ile yazılmış bir JavaScript motorudur. [ 1 ] JSDoc sözdizimi ve semantiği Javadoc düzenine benzer. Javadoc Java için dokümantasyan şemasıdır. JSDoc Javadoc'tan JavaScript'in dinamik davranışından dolayı farklılıklar gösterir.

JSDoc etiketleri Modern JSDoc'ta kullanılan popüler açıklama etiketlerinden bazıları şunlardır: Etiket Açıklama @author Geliştirici Adı @constructor Fonksiyonu kurucu olarak işaretler @deprecated Metodu kullanımdan kaldırıldı olarak işaretler @exception @throws eş anlamlısı @exports Modülü tarafından dışarıya gösterilen üyeyü tanımlar @param Metodun parametresini dokümante eder, datatipi tanımlayıcı süslü parantez içinde yazılarak tanımlanır. @private Üyenin özel olduğunu bildirir. Başka bir class'tan erişilemez. @return Dönüş değerini belirtir @returns @return eş anlamlısı @see Başka bir objeye referans verir @this fonksiyon içerisinde @this'in ne anlama geldiğini belirtir. @throws Metod tarafından atılan hatayı dokümante eder. @version Kütüphanenin sürümünü belirtir.

Örnek /** * Creates an instance of Circle. * * @constructor * @author: moi * @this {Circle} * @param {number} r The desired radius of the circle. */ function Circle ( r ) { /** @private */ this . radius = r ; /** @private */ this . circumference = 2 * Math . PI * r ; } /** * Creates a new Circle from a diameter. * * @param {number} d The desired diameter of the circle. * @return {Circle} The new Circle object. */ Circle . fromDiameter = function ( d ) { return new Circle ( d / 2 ); }; /** * Calculates the circumference of the Circle. * * @deprecated * @this {Circle} * @return {number} The circumference of the circle. */ Circle . prototype . calculateCircumference = function () { return 2 * Math . PI * this . radius ; }; /** * Returns the pre-computed circumference of the Circle. * * @this {Circle} * @return {number} The circumference of the circle. */ Circle . prototype . getCircumference = function () { return this . circumference ; }; /** * Find a String representation of the Circle. * * @override * @this {Circle} * @return {string} Human-readable representation of this Circle. */ Circle . prototype . toString = function () { return "A Circle object with radius of " + this . radius + "." ; };

Kullanımda JSDoc Google Closure Linter ve Closure Compiler. Compiler tip bilgilerini tutarak JavaScript çıktısını optimize eder. Sublime Text JSDoc'a DocBlockr veya DoxyDoxygen eklentileri ile destek verir. JSDOc yazımı Apress book Foundation of Ajax'da uzun bir şekilde anlatılmıştır ISBN 1-59059-582-3 . IntelliJ IDEA, NetBeans ve RubyMine JSDoc yazımını otomatik olarak algılamaktadır. Eclipse IDE JSDoc yazımını anlamak için eklentiye sahiptir. Bunun yanında Eclipse tabanlı Aptana Studio ScriptDoc desteğine sahiptir. Bu JavaScript dosyalarına yorum yazılmıştır. Mozile , Mozilla'nın kullandığı editör JSDoc kullanmaktadır. Helma uygulama çatısı JSDoc kullanmaktadır. SproutCore dokümantasyonu JSDoc kullanarak oluşturulmuştur. Visual Studio, WebStorm ve daha birçok IDE JSDoc yorum stiline göre kod tamamlama özelliğine sahiptir. Böylece JSDoc yazımını kolaylaştırır. Açık kaynak kodlu Atom editörü de keza JSDoc desteğine sahiptir. Bunu atom-easy-jsdoc eklentisi ile yapar. ISBN 1 1-59059-582-3