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. 第十条规则
第十条规则好极了,你可以始终依赖它。这就是: 保持可预测。 我应该可以猜到你的方法是用来干嘛的。如果我不知道某个方法的名字,也应该能让我猜出来。
11.附加规则
- 文档,恼人但绝对是需要去做的。
- 你用的命名空间越多,我就越难记住,就如你的电话号码一样。
- 记住:可能有数百万人将执行你的代码。
分享到:
相关推荐
JavaScript库的开发规则是确保代码质量和兼容性的关键指导原则,对于任何希望构建高效、可靠且易于维护的JavaScript库的开发者来说,这些都是不可忽视的。以下是对这些规则的详细解释: 1. **保持无侵入性**:这...
`rrule`是一个用于处理日历中的递归事件规则的JavaScript库,由Jakub Roztocil开发。在现代互联网应用中,尤其是涉及到日程安排和事件管理时,递归规则的处理至关重要。例如,每周一次的会议、每月的第一个星期一的...
OpenLayers是一个开源的JavaScript库,专为构建交互式地图应用而设计。它提供了丰富的地图操作功能,如图层管理、瓦片地图、WMS服务支持等。通过借鉴OpenLayers的成熟功能,这个JavaScript WebGIS库能够实现高效稳定...
ShapeTouch 是一个专门针对HTML5(H5)页面设计的JavaScript库,它的主要功能是处理不规则图形按钮的可点击区域。在Web开发中,尤其是H5应用中,我们经常遇到需要创建各种形状的交互元素,例如圆形、多边形或者其他...
除此之外,随着WebGL和Three.js等库的普及,JavaScript还可以用于开发3D游戏,提供更丰富的视觉体验。这些库允许开发者在浏览器中直接创建复杂的3D场景,实现光照、纹理、粒子效果等。 在实践中,一个完整的...
- 随着技术的发展,Fortify可能扩展了对新兴编程语言如Python、JavaScript(包括Node.js)、Go等的支持,使得规则库更全面,能够覆盖更多类型的项目。 4. **自定义规则**: - 2020版的规则库可能提供了更方便的...
**jQuery** 是一个高效的JavaScript库,它简化了JavaScript的DOM操作、事件处理、动画以及Ajax交互。jQuery的核心特性包括选择器(用于快速定位HTML元素)、链式操作(允许一连串的操作连续执行)和插件系统(扩展了...
React是由Facebook开发的JavaScript库,用于构建用户界面,尤其是单页面应用。它引入了虚拟DOM的概念,提高了性能并简化了组件化开发。Angular是另一大流行框架,由Google维护,它提供了一整套MVC(模型-视图-控制器...
虽然JavaScript本身并不内置物理引擎,但有许多开源库,如Phaser、Three.js等,提供了强大的物理引擎支持,简化了游戏开发的复杂度。 最后,了解和使用WebGL或者Canvas API对于开发2D或3D游戏至关重要。这些API允许...
JavaScript函数库组件ChkInputs是一个强大的工具,专为前端开发者设计,用于实现高效且灵活的表单输入验证。ChkInputs的核心目标是简化Web应用程序中的数据验证过程,提供了一种统一的方法来处理用户输入的数据检查...
前端使用JavaScript库和框架(如React, Angular, Vue等),后端可能涉及Node.js或传统的Java、.NET服务器。 **1.2 产品构成和技术特点** EFLOW 2.0 可能包括以下组件:前端模板引擎、后端API接口、数据库连接管理...
10. **框架与库**:可能会提及React、Vue、Angular等流行的JavaScript框架,以及jQuery等库的使用方法。 随书源代码文件“33696 随书代码”很可能是书中实例的配套代码,读者可以通过运行这些代码加深对理论知识的...
在实际开发中,JavaScript库如jQuery简化了DOM操作,框架如React、Vue.js、Angular提供了完整的MVC/MVVM架构,极大地提高了开发效率和代码可维护性。 十、ES6及后续版本新特性 ECMAScript(ES)是JavaScript的标准...
本项目是一个以JavaScript为核心的服务端开发作业与课程设计源码仓库,总计包含113个文件,涉及多种编程语言和技术。其中,JavaScript源文件49个,Python脚本10个,Vue组件8个,HTML和CSS样式文件共计19个(包括11个...
3. **规则引擎设计**: 规则引擎的核心是规则库,其中包含各种业务规则。这些规则可能涉及复杂的逻辑,如多个条件的组合和嵌套。C# 规则引擎通过解析和执行JavaScript表达式,可以实现灵活的规则定义和验证。 4. **...
jQuery是一个广泛使用的JavaScript库,简化了JavaScript的DOM操作和事件处理,使得前端交互更高效。 第三部分则专注于后端原型的构建,主要围绕Node.js和MongoDB展开。Node.js是一个基于Chrome V8引擎的JavaScript...
8. **框架与库**:React、Vue、Angular等JavaScript框架极大简化了前端开发,理解它们的工作原理和用法,能提高开发效率。jQuery等库则提供了方便的DOM操作和事件处理。 9. **调试与性能优化**:学习如何使用浏览器...
在使用2020.1.0.0009版Fortify规则库时,开发团队应该确保所有成员了解新引入的规则,以便在编码时遵循最佳安全实践,减少潜在的漏洞。同时,定期更新规则库是必要的,以保持对新兴威胁的防护能力。最后,结合...