几天工作上需要文档化一些Javascript东西,所以在找一些JS文档化工具,以下分析几种工具。

1.JSDoc-toolkit

一开始还想用这个工具,但后来在解析生成文档时候,出现了很严重的错误,还存在其他问题。

问题1:闭包存在时候,解析出错(很严重) ,导致几乎就不能用来做JS文档化。

问题2:在Javascript部分,注释怎么写都不对,感觉这个工具使用起来很困难

问题3:如果是静态函数或prototype设置函数,就会出问题,warning错误,然后生成的文档很怪异

之所以会出现上面种种问题,关键点就是解析时需源代码,这问题太严重了。

也是解析出错这个原因,导致最后不得不舍弃这个工具。

建议:JavaDoc可以用,感觉这种工具更多是给Java用的

2.JSDoc

很类似JSDoc-toolkit ,注释方式几乎一样,没什么差别,同样解析需源代码(又不得不舍弃)。

PS:因为不同的人写js的方式千奇百怪,不能强制js的写法,最好是只需要规范注释写法,文档生成工具从注释获取信息来生成文档。

3.YUIDoc

只解析YUIdoc的注释块,不解析源代码(令人振奋的消息,可以支持多种语言,产生错误 的可能将大大减小),只需要安装nodejs,在命令行安装YUIDoc就可用了,使用起来也非常简单。但是,这个工具还是基于面向对象语言来做文档化的,所以在给JS使用时,还是有些怪异,不过这些问题是可以忍受的。

总之,一个好的文档化工具,最好是有两钟模板,一个给函数式语言使用,一种给面向对象语言使用,两者杂糅起来挺不好的。另外最好是简单易用,特别不要出现解析出错,一出现解析出错,相信再好用再华丽也没有人用。

JSDoc那些事的更多相关文章

  1. JS文档生成工具:JSDoc 介绍

    JSDoc是一个根据javascript文件中注释的信息,生成API文档的工具.生成的文档是html文件.类似JavaDoc和PHPDoc. 用法 /** 一坨注释之类的 */JSDoc会从/**开头 ...

  2. 【腾讯Bugly干货分享】H5 视频直播那些事

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57a42ee6503dfcb22007ede8 Dev Club 是一个交流移动 ...

  3. CSharpGL(31)[译]OpenGL渲染管道那些事

    CSharpGL(31)[译]OpenGL渲染管道那些事 +BIT祝威+悄悄在此留下版了个权的信息说: 开始 自认为对OpenGL的掌握到了一个小瓶颈,现在回头细细地捋一遍OpenGL渲染管道应当是一 ...

  4. TODO:字节的那点事Go篇

    TODO:字节的那点事Go篇 (本文go version go1.7.3 darwin/amd64) 在Golang中string底层是由byte数组组成的. fmt.Println(len(&quo ...

  5. Microsoft Visual Studio 2013 — Project搭载IIS配置的那些事

    前段时间在改Bug打开一个project时,发生了一件奇怪的事,好好的一直不能加载solution底下的这个project,错误如下图所示:大致的意思就是这个project的web server被配置 ...

  6. OpenNLP:驾驭文本,分词那些事

    OpenNLP:驾驭文本,分词那些事 作者 白宁超 2016年3月27日19:55:03 摘要:字符串.字符数组以及其他文本表示的处理库构成大部分文本处理程序的基础.大部分语言都包括基本的处理库,这也 ...

  7. HTTPS那些事(一)HTTPS原理

    转载来自:http://www.guokr.com/post/114121/ 谣言粉碎机前些日子发布的<用公共WiFi上网会危害银行账户安全吗?>,文中介绍了在使用HTTPS进行网络加密传 ...

  8. 做一个 App 前需要考虑的几件事

    做一个 App 前需要考虑的几件事  来源:limboy的博客   随着工具链的完善,语言的升级以及各种优质教程的涌现,做一个 App 的成本也越来越低了.尽管如此,有些事情最好前期就做起来,避免当 ...

  9. Ctrl-A全选这点事(C#,WinForm)

    所有的文本框,不管单行多行都Ctrl-A全选就好了吧?是啊,很方便.Windows的软件基本都是这样.可为什么我们自己制作的WinForm就默认不是这样呢?谁知道呢,可能是WinForm饱受诟病,要改 ...

随机推荐

  1. ubuntu14.04服务版/etc/init.d/smbd restart无效的解决方法

    刚装的ubuntu14.04配置完smbd发现service或者/etc/init.d/smbd restart都不显示任何输出,也没起作用 echo $?输出1,查看脚本发现 if init_is_ ...

  2. mongo3.x ssl版安装文件

    搞c++好郁闷就是编译驱动.我都编疯了.虽然是按着教程走,但有时不同版本的机器有时各种奇奇原因莫妙奇妙编出问题.FQ出去啃英文解决的好吃力. 本来想更新一下项目的mongo从2.x 升级到3.x,然后 ...

  3. MarkDown写blog(测试)

    区块元素 段落和换行 一个 Markdown 段落是由一个或多个连续的文本行组成,它的前后要有一个以上的空行(空行的定义是显示上看起来像是空的,便会被视为空行.比方说,若某一行只包含空格和制表符,则该 ...

  4. 二十、【.Net开源】EFW框架核心类库之WebService服务

    回<[开源]EFW框架系列文章索引> EFW框架源代码下载V1.1:http://pan.baidu.com/s/1qWJjo3U EFW框架实例源代码下载:http://pan.baid ...

  5. 十三、EnterpriseFrameWork框架核心类库之数据库操作(多数据库事务处理)

    本章介绍框架中封装的数据库操作的一些功能,在实现的过程中费了不少心思,针对不同数据库的操作(SQLServer.Oracle.DB2)这方面还是比较简单的,用工厂模式就能很好解决,反而是在多数据库同时 ...

  6. React JS 基础知识17条

    1. 基础实例 <!DOCTYPE html> <html> <head> <script src="../build/react.js" ...

  7. udp穿透简单讲解和实现(Java)

    在上一小节中了解到了通过浏览器自带的Webrtc功能来实现P2P视频聊天.在HTML5还没有普及和制定Webrtc标准的前提下,如果要在手机里进行视频实时对话等包括其他功能的话,还是要自己实现,还比较 ...

  8. Entityframework 事务

    Working with Transactions (EF6 Onwards) This document will describe using transactions in EF6 includ ...

  9. Nopcommerce主要的技术

    Nopcommerce主要用到的技术及特点: 1.Entity Framework 2.ASP.NET mvc 3.IoC容器+依赖注入(Autofac) 4.使用EF中的EntityTypeConf ...

  10. debian7.1 sources.list

    deb http://mirrors.163.com/debian wheezy main non-free contribdeb http://mirrors.163.com/debian whee ...