一、请给你的代码加上注释

这个世界不存在百分百的完美的jquery插件,注释不止是给别人看、更重要的是给自己看。

你应该把注释当做你代码的一部分,养成随手加注释的习惯,尤其是编写javascript的时候。

1、在全部代码前加上文件说明注释

以下是插件加的注释:

  1. /**
  2. * $.yitip
  3. * @extends jquery.1.4.2
  4. * @fileOverview 创建文字提示框
  5. * @author 姓名
  6. * @email 123456@126.com
  7. * @site wwww.123.com
  8. * @version 0.1
  9. * @date 2010-07-17
  10. * Copyright (c) 2010-2010 姓名
  11. * @example
  12. *    $("a").yitip();
  13. */
  14. (function($){
  15. .......
  16. })(jQuery);

这是jsdoc的写法,什么是jsdoc?请点此。jsdoc简单点来说是一种javascript文档工具,使用方法可以点此。现在对jsdoc不理解没关系,你只要创建 上述类似的说明文档即可。jsdoc的命令请点此查看。

2、函数务必加注释

比如以下代码是yijs.Yitip一个方法setContent:

  1. yijs.Yitip.prototype = {
  2. /**
  3. *向提示框添加内容
  4. * @param {Object | String} content 内容
  5. */
  6. setContent : function(content){
  7. ...........
  8. }
  9. }

依旧遵循jsdoc规范,而不是匆匆加上“//”了事,关于jsdoc,有机会 会详细讲解。

3、参数务必加注释

比如:

  1. //默认参数
  2. $.fn.yitip.defaults = {
  3. /**目标容器*/
  4. applyTo : null,
  5. /**内容*/
  6. content : "",
  7. /**提示框位置*/
  8. position : "topMiddle",
  9. /**提示框位置偏移*/
  10. },
  11. /**提示框颜色*/
  12. color : "yellow"
  13. }

4、函数体内关键代码前加注释

二、javascript变量规范

在javascript世界中,没有真正意义的共有变量、私有变量、常量等概念,当你的javascript代码达到一定数量级时,过段时间你回头看自己的代码,都会把自己搞晕。

1、请在私有变量前加“_”

比如:

  1. var_pos = this.pos;

2、常量请大写

比如:

  1. this.DATA_COLOR = "color";

3、jquery对象变量前加“$”

比如:

  1. this.$applyTo  = $(".yitip");

4、object、array变量前加“o”、“a”

很多人喜欢给数组变量加个”s”,这也是可以的,按个人习惯,如果你觉得有必要还可以给函数前加个“fn”。

三、jquery插件开发的一些建议

1、请多使用data()方法

jquery中data()方法非常有用,尤其在jquery插件开发中,因为data()所创建的缓存,可以完整的保存各种数据类型的数据,这是其他缓存机制无法比拟的。

2、请使用bind来绑定事件

很多朋友喜欢以下的代码:

  1. $(".yitip").click(function(){
  2. ........
  3. })

但在jquery插件开发中 更提倡使用bind:

  1. $(".yitip").bind('click',function(){
  2. .........
  3. })
3、善用typeof

typeof用于判断数据类型,这个方法在参数判断中非常有用处

4、插件名加个独有前缀

jquery插件成千上万,插件撞车时很容易的事,比如提示框插件:

  1. $.fn.tip = function(options){
  2. }

但tip的冲突率无疑很高,所以 加个“yi”前缀,如果你有在网上看到以yi做前缀的插件,那估计就是 写的,呵呵。

四、其他规范

1、设置版本号

有很多插件作者将版本号作为插件的一个属性,也是一个比较好的做法,比如:

  1. $.fn.yitip.version = 0.1

你可以不设置为属性,但在你的文件头务必加上版本注释,比如:

  1. /**
  2. * $.yitip
  3. * @version 0.1
  4. */

喜欢以0.1起始,然后把正式版的插件设置为1.0

2、将插件代码托管到网上

可以去sourceforge注册个账号,新建个开源项目,将代码托管上去,如果你不喜欢sourceforge,可以使用google的代码托管,可以看 曾发表过的使用Google Code托管代码教程。有机会发篇教程讲述如何在sourceforge上托管代码。

jquery插件开发规范的更多相关文章

  1. jQuery插件开发小结

    jQuery插件开发规范 1. 使用闭包 (function($) { // Code goes here })(jQuery); 这是来自jQuery官方的插件开发规范要求,使用这种编写方式有什么好 ...

  2. JavaScript学习笔记(四)——jQuery插件开发与发布

    jQuery插件就是以jQuery库为基础衍生出来的库,jQuery插件的好处是封装功能,提高了代码的复用性,加快了开发速度,现在网络上开源的jQuery插件非常多,随着版本的不停迭代越来越稳定好用, ...

  3. JavaScript学习总结(四)——jQuery插件开发与发布

    jQuery插件就是以jQuery库为基础衍生出来的库,jQuery插件的好处是封装功能,提高了代码的复用性,加快了开发速度,现在网络上开源的jQuery插件非常多,随着版本的不停迭代越来越稳定好用, ...

  4. jQuery插件开发精品教程,让你的jQuery提升一个台阶

    要说jQuery 最成功的地方,我认为是它的可扩展性吸引了众多开发者为其开发插件,从而建立起了一个生态系统.这好比大公司们争相做平台一样,得平台者得天下.苹果,微软,谷歌等巨头,都有各自的平台及生态圈 ...

  5. jquery插件开发继承了jQuery高级编程思路

    要说jQuery 最成功的地方,我认为是它的可扩展性吸引了众多开发者为其开发插件,从而建立起了一个生态系统.这好比大公司们争相做平台一样,得平台者得天下.苹果,微软,谷歌等巨头,都有各自的平台及生态圈 ...

  6. jQuery插件开发(转)

    jQuery插件开发全解析 jQuery插件的开发包括两种: 一种是类级别的插件开发,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法.jQuery的全局函数就是属于jQuery命 ...

  7. Jquery插件开发精品教程

    最开始接触jquery对他提供的各种插件总是十分有兴趣,但是总是不理解为什么这样写,从网络上查询了很久终于找到这篇文章,讲解的很详细,分享给大家. 要说jQuery 最成功的地方,我认为是它的可扩展性 ...

  8. jQuery插件开发的五种形态[转]

    这篇文章主要介绍了jQuery插件开发的五种形态小结,具体的内容就是解决javascript插件的8种特征,非常的详细. 关于jQuery插件的开发自己也做了少许研究,自己也写过多个插件,在自己的团队 ...

  9. 转:jQuery插件开发精品教程,让你的jQuery提升一个台阶

    要说jQuery 最成功的地方,我认为是它的可扩展性吸引了众多开发者为其开发插件,从而建立起了一个生态系统.这好比大公司们争相做平台一样,得平台者得天下.苹果,微软,谷歌等巨头,都有各自的平台及生态圈 ...

随机推荐

  1. thinkphp 定位查询 Model:last您所请求的方法不存在!

    thinkphp 定位查询 Model:last您所请求的方法不存在!   用thinkphp3.1做项目的时候为了获取记录表中最后一个id用到了last()方法,出现了这个错误:Model:last ...

  2. AFNetworking 与 NSURLSession

    转载自:http://blog.sina.com.cn/s/blog_8157560c0101kt7h.html 1. 也就是说在IOS 7.1 之后你想用网络请求的话有两种途径,NSUrlSessi ...

  3. OC: 数组、集合、字典

    数组.字典.集合 参考1   参考2  参考3  参考4  参考5 NSArray * nn  = @[@"元素1",@"元素2",@"元素3&quo ...

  4. EasyUI ComboBox默认值

    combobox数据加载完后设置默认值 $('#ck').combobox({ url: '/External/GetAllCk', valueField: 'Ddbh', textField: 'D ...

  5. WSO2 Stratos手册

    WSO2 Stratos是最完整的企业级cloud solution,提供了一个开放的PaaS平台,相比于其他的PaaS平台来说,Stratos支持更多核心的服务.Stratos2.0对那些想从异构环 ...

  6. opennebula 出错截图与调试

  7. WAF指纹探测及识别技术<freebuf>

    Web应用防护系统(也称:网站应用级入侵防御系统.英文:Web Application Firewall,简称: WAF).利用国际上公认的一种说法:Web应用防火墙是通过执行一系列针对HTTP/HT ...

  8. Java学习笔记之深入理解引用

    引言:Java中数据传递的方式,除了基本数据类型是按照值传递,其它类型全部是按照引用传递,这和C++有很大区别,但是很多网上文章都解释的不清楚,甚至是错误的,在查阅资料之后,下面整理出一个比较容易理解 ...

  9. 使用PageHeap.EXE或GFlags.EXE检查内存越界错误 (转)

    2011-05-27 20:19 290人阅读 评论(0) 收藏 举报 microsoftdebuggingstructureoutputimagefile 必先利其器之一:使用PageHeap.EX ...

  10. Java IO之File

    FILE类是用来实现获取文件.文件夹的类库工具,File并不是像类名所表示的那样仅仅是用来表示文件.它还能够用来表示文件夹. 所以能够用File来获取一个文件夹下的全部文件,甚至是文件夹中的文件. 一 ...