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:
Ancak pencereyi kaldırırsam.exports.MyImplementati assignation veya iade statment üzerine, orada ...
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):
... 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).
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:
oy verin. Metot uygulamasını “MyImplementation” beyanına entegre etmeniz ve daha sonra prototipe eklememeniz gerektiğini düşünüyorum. – kasoban
Ö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 :-) –
Hmm. Belki de bu denetçiyi bir şekilde karıştırır? – kasoban