JSDoc

2014-11-13 12 views
5
kullanarak Webstorm arabirimi uygulama uyarısı

JSDoc'ta çok yeniyim ve Webstorm'u deniyorum, bu yüzden webstorm'da da çok yeni. Başka bir taraftanJSDoc

/** @interface */ 
function IInterface(){} 
IInterface.prototype.myMethod = function(){}; 

, ben bu arabirim uygulama ediyorum hangi bir modül geliştiriyorum:

window.exports.MyImplementation = (function(){ 
    "use strict"; 

    /** 
    * 
    * @constructor 
    * @implements {IInterface} 
    */ 
    function MyImplementation(){} 
    MyImplementation.prototype.myMethod = function(){ 
     // my implementation here 
    }; 

    return MyImplementation; 
})(); 

Ben sorun

Ben bir arayüz bu şekilde beyan edilen bir yandan var Uygulamanın görünüşe göre tanınmadığı anlaşılıyor: Not implemented warning screen shot

Ancak pencereyi kaldırırsam.exports.MyImplementati assignation veya iade statment üzerine, orada ...

enter image description here

artık uyarıdır .. ama dönüp benim modülünden tipim depolamak istiyoruz!

Ben eksik veya yanlış yapıyorum bir şey var mı ...

Düzenleme

:?

Sadece benim konuya biraz daha kafa karışıklığı getirmek, ben "tam şerhi" kullanılarak düşündüğünü arayüz bildirimi (bu mümkün değilse, ben burada ... deney yaşıyorum):

enter image description here

... ama bu durumda, fark olabilir "Ben "sembolü soldan kayboldu ve yöntem uygulanmadığında, herhangi bir uyarım yok. AMA tip IInterface tanınır.

Edit: Sadece jsDoc'un diğer öğelerini denerken bir şey anladım. Uyarı, uygulama üzerinde gerçekleştirildiğinden, window.exports.MyImplementation öğesinde yapıldığı için atılır. Ancak bu nesneyi kodda uygulayan doğrudan atama yoktur. Ve bu yüzden dönüş ifadesi veya "exports.MyImplementation" atama kaldırıldığında uyarı devre dışı bırakıldı.

.. Bu nedenle, bunun bir hata olarak kabul edilebileceğinden emin değiliz, bu benim modülüm için kullandığım kalıp, WebStorm tarafından beklenen desene ve belki de JSdoc'un kendisi ile eşleşmiyor olabilir .... .. JSDoc ve WebStorm onaylamak olabilir tecrübesi olan biri .....

başka düzenleme ise: (anlayış JSDoc burada önemli bir adım bence)

ek açıklamaları üzerine taşındı hedeflenen alan ve ... tadaaa (hala arayüzün gerçekte olduğunu gösteren "I" ibaresine dikkat edin).

enter image description here

Benim açıklamam: arkasında bir mantık var olabilir .... ama dürüst Gerçekten alakalı olup olmadığını bilmiyorum: belgelenmiş alan "ihracatta ihraç edilecek şekilde.MyImplementation "en sonunda, ve bu açıklık özel muhafaza içinde daha yararlıdır. WebStorm ihracat" exports.MyImplementation "için tespit etti, böylece belgeleriniz için bekliyor ...

anlamlı mı? ...

ve (yine) başka bir düzenleme soruşturması soruşturma.

Ben görünüyor dokümantasyon, tamamlama, doğrulama ve hiçbir uyarı veren bir çok farklı çözüm bulduk modül ihracı için bana daha iyi bir çözüm: enter image description here

+0

oy verin. Metot uygulamasını “MyImplementation” beyanına entegre etmeniz ve daha sonra prototipe eklememeniz gerektiğini düşünüyorum. – kasoban

+0

Öneri kasoban için teşekkürler, ancak vücuttaki uygulama hiçbir şeyi değiştirmiyor. Dahası, bunu prototiplemeyi kullanarak uygulamak istiyorum. İdeal olarak, ek açıklamaları değiştiren bir çözüm varsa, satır 66 ve satır 55'in sonunda eksik noktalı virgüllerin dışında, kodunuzun iyi olması gerektiğini anladığım kadarıyla, ihtiyacım olan her şeye mükemmel bir şekilde uyuyordu :-) –

+0

Hmm. Belki de bu denetçiyi bir şekilde karıştırır? – kasoban

cevap

1

o WebStorm JSDoc destek veren bir böcek, MyImplementation` `senin beyanı teknik arayüzü gerekli tüm fonksiyonları uygulamadan hattı 66 "bitmiş" çünkü sanırım WEB-14202

+0

Tamam, bu gerçekten iyi bir cevap gibi görünüyor: Uygulamayı modülün dışına çıkarmaya çalıştığınızda, ancak ad alanı öneki olmadan, hedeflenen nesne yanlış olsa bile bu çalışır ....... Bugtracker güncellemesi için teşekkürler –

+0

Diğer araştırmalarıma göre, daha az ve daha az bir hata olduğuna inanıyorum. –