JavaScript库开发者们的规则

1. 保持无侵入性 我的HTML标记不想知道你的JavaScript代码。 

2. 严禁修改和扩展Object.prototype! 这条很重要,因此需要一条完全针对它的规则。对象是JavaScript功能的基本构建模块,不要搞乱它们。 

3. 不要过分扩展 对JavaScript内建对象的扩展越少越好。别误解我的意思。JavaScript的原生对象中有用的方法是有点少,有时不得不添加一两个自己的方法。但是,对于富有创造力的(库)程序员来说,添加这“一两个”方法是不够的。然而,请停下来!添加需要的就好。你对JavaScript内建对象的扩展越少,你的代码与其它框架产生的冲突的概率就越少。 

4. 跟随标准 作为一个库的开发者,你定义JavaScript代码的模式。设计模式是编程语言能力弱的体现。 记住,JavaScript和DOM还在不断地被规格化。如果你想“修正”某些东西,最好先看看是否已经被修正,考虑已有的解决方案。 如果你跟随标准,就紧紧的跟着标准走(比如:别遗漏了forEach 方法的某个参数)。 

5. 或着跟随主导 Mozilla引领着JavaScript. JavaScript语言的创建者Brendan Eich, 还在持续开发。和其它浏览器相比,在Mozilla浏览器中这些新的语言特性最先可用。 如果你想给JavaScript添加新的语言特性,可以先瞧瞧Mozilla标准。例如,你想给Array对象扩展一个枚举方法时,最好把这个方法取名为forEach而不是each. 如果你的确想提供尚不存在的语言特性,那么请紧紧跟随着现有的标准走(参考上面的例子)。 

6. 保持灵活 如果我想修改行为而不改变你的源码,这容易不?如果不够容易,让它更容易些。 

7. 管理内存 大家担心内存泄漏,你要尽力而为。 

8. 淘汰浏览器嗅探 貌似浏览器厂商们将永远通过添加新特性来竞争;-) 作为库的开发者,你要跟得上最新的潮流。偶尔浏览一次Ajaxian是不够的,你必须奴隶般地阅读每一篇博客文章以找到下一个hack. 浏览器嗅探会上瘾的。 

9. 小巧更佳 各种JavaScript库已经成熟。某些库已经应用在主流网站上。但并不是所有人都装了2MBit的DSL带宽,因此请保持库的小巧。更好的做法是,提供一个打包页面,允许按照我的需求有效地构建自己的库。 

10. 第十条规则 Good ol’ tenth rule(好像是一个口语用法,不知道怎么翻译好). 你可以始终依赖第十条规则。这就是: 保持可预测。 我应该可以猜到你的方法是用来干嘛的。如果我不知道某个方法的名字,也应该能让我猜出来。 

11. 附加规则 
文档,恼人但绝对是需要去做的。
你用的命名空间越多,我就越难记住,就如你的电话号码一样。

记住:可能有数百万人将执行你的代码。

----------from:http://www.ijavascript.cn/jiaocheng/javascript-library-rules-476.html

有关方法命名规范:

Javascript本身是没有“类”这个概念的,也没有像强类型语言,如Java一样定义方法的访问权限。

Java中有:

1、private修饰词,表示成员是私有的,只有自身可以访问;   
2、protected,表示受保护权限,体现在继承,即子类可以访问父类受保护成员,同时相同包内的其他类也可以访问protected成员。   
3、无修饰词(默认),表示包访问权限(friendly, java语言中是没有friendly这个修饰符的,这样称呼应该是来源于c++ ),同一个包内可以访问,访问权限是包级访问权限;  这在C++中叫做友元。
4、public修饰词,表示成员是公开的,所有其他类都可以访问;
而javascript中没有此类修饰符,故而有以下规范(此规范我仅在网上看到,具体没求证,但我感觉合理。)
举例:
var  Class = function(){};
Class.prototype = {
         publicFn:function(){},
         _protectedFn:function(){},
        __privateFn:function(){},
        __privateFn2__:function(){}
 };
如模拟出的Class类,该类有四个方法,我以修饰符为名称,后面加了Fn字符表示方法。(public是保留字所以加了Fn 其他方法为了保持一致也加了)
第一个方法时公有方法的命名规范,即不需要添加任何特殊标志的方法。
第二个方法_protectedFn添加了‘_’符号,以标识受保护的方法,不过该命名方式我很少见。
第三和第四个方法均是声明的私有方法,标识该方法只能在“类”内部使用,而不能被外部访问。当然这仅是规范,遵守才生效,不遵守也是可以访问的。 这中命名可见__proto__.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值