在我使用Javascript的所有方法中,我发现没有任何东西可以满足我对自我记录代码的渴望。我希望能够在我自己的代码中看到模块,函数,“struct”字段和事件有效负载的API。
我很好奇是否有任何IDE或转换语言可以帮助人们轻松保持其内部API可见?例如,对于许多语言,IDE通常会提供包/模块/类/函数的可扩展树视图。 Javascript使这很困难,因为有很多方法可以编写所有这些实体。
我发现在Javascript中编写应用程序时,在达到一定大小后,我必须继续在源文件之间跳转以记住这些事情。一致的命名,清晰的编码风格和良好的习惯只能走到这一步。在没有静态类型的语言中,围绕函数参数的规则非常宽松,并且将函数作为回调传递,JS代码很难扫描并立即看到更高级别的结构。由于所有JS代码都是实现,因此很难将接口与实现分开。
在有许多程序员的大型项目中,有必要强制执行有关在注释中记录函数的规则,并且可能会自动生成文档。但是做独立开发,这就像很多手动工作只是为了提醒自己的架构和内部API,并且可能在大多数时候都过时了。我不打算查找函数来记住它需要什么参数,看看它没有文档字符串注释,添加它们并重建文档以便我可以阅读它们。
TypeScript听起来很有前途,但似乎与Microsoft工具过于紧密相关。 CoffeeScript可以节省输入并且可以提供更清晰的代码,但我认为它不会解决暴露应用程序结构的高级视图的问题。
WebStorm实际上揭露了我正在寻找的一些东西,但我想知道还有什么。
我正在寻找其他人用来缓解此问题的提示,工具和技术。