`
wutao33543
  • 浏览: 64848 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

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. 附加规则
文档,恼人但绝对是需要去做的。
你用的命名空间越多,我就越难记住,就如你的电话号码一样。
记住:可能有数百万人将执行你的代码。
分享到:
评论

相关推荐

    ShapeTouch该Javascript库用于实现H5中不规则图形按钮可点击区域的判断

    ShapeTouch 是一个专门针对HTML5(H5)页面设计的JavaScript库,它的主要功能是处理不规则图形按钮的可点击区域。在Web开发中,尤其是H5应用中,我们经常遇到需要创建各种形状的交互元素,例如圆形、多边形或者其他...

    Web客户端统一验证JavaScript函数库组件概述Web客户端统一验证JavaScript函数库组件概述Web客户端统一验证JavaScript函数库组件概述Web客户端统一验证JavaScript函数库组件概述

    Web客户端统一验证JavaScript函数库组件是前端开发中一个至关重要的工具,它主要用于在用户提交数据前进行实时的数据验证,确保输入的信息符合预期的格式和规则,从而提高用户体验并减轻服务器端的压力。JavaScript...

    JavaScript库 开发规则

    JavaScript库的开发规则是确保代码质量和兼容性的关键指导原则,对于任何希望构建高效、可靠且易于维护的JavaScript库的开发者来说,这些都是不可忽视的。以下是对这些规则的详细解释: 1. **保持无侵入性**:这...

    JavaScript函数库组件(ChkInputs)概述(含源码)

    JavaScript函数库组件ChkInputs是一个强大的工具,专为前端开发者设计,用于实现高效且灵活的表单输入验证。ChkInputs的核心目标是简化Web应用程序中的数据验证过程,提供了一种统一的方法来处理用户输入的数据检查...

    一些有趣的Javascript库框架集合按名称首字母az归类

    本资源集合提供了一个有趣的、按名称首字母排序的JavaScript库和框架列表,覆盖了从A到Z的各种选择。这不仅方便开发者查找特定功能的解决方案,也提供了一个了解和学习最新JavaScript技术趋势的机会。 首先,让我们...

    一个简单的 C# 规则引擎,支持 JavaScript 表达式规则验证

    当JavaScript表达式出现错误或者规则无法正常执行时,良好的错误报告和调试工具可以帮助开发者迅速定位问题。 9. **扩展性与维护性**: 优秀的规则引擎设计应该允许在未来添加新规则或修改现有规则时,保持较低的...

    ASL是一个同构授权JavaScript库它限制给定用户访问什么资源

    4. **可扩展性**:ASL库通常设计为模块化,方便开发者添加自定义的规则或者扩展其功能,以适应不同项目的需求。 在实际应用中,ASL可能与身份认证系统(如JWT或OAuth)配合使用,确保只有经过身份验证的用户才能...

    javascript表单验证器三方库.zip

    "javascript表单验证器三方库.zip" 是一个包含第三方JavaScript库的压缩包,专门用于表单数据验证。这种库通常提供了一套完整的验证规则和方法,帮助开发者轻松地实现对用户输入的检查,避免无效或恶意的数据进入...

    JavaScript开发webgis库源码

    OpenLayers是一个开源的JavaScript库,专为构建交互式地图应用而设计。它提供了丰富的地图操作功能,如图层管理、瓦片地图、WMS服务支持等。通过借鉴OpenLayers的成熟功能,这个JavaScript WebGIS库能够实现高效稳定...

    JavaScript效果库

    4. **拖放功能**:JavaScript库通常会提供易于使用的拖放API,使得用户可以轻松实现元素的拖放操作,提升网站的交互性。 5. **事件处理**:讲解如何响应用户的点击、滚动、鼠标悬停等事件,以及如何使用JavaScript...

    一个支持unicode中文摩斯密码编码的Javascript库

    在IT行业中,...总之,“xmorse-master”是一个创新的JavaScript库,它填补了中文摩斯密码编码的空白,为开发者提供了新的工具和可能性。无论是在学术研究还是实际项目中,它都具有很高的实用价值和学习意义。

    Effective JavaScript 编写高质量JavaScript代码的68个有效方法1

    JavaScript中的作用域规则不同于其他一些语言,作者介绍了函数作用域和全局作用域的概念,以及如何正确使用var关键字来避免变量提升和意外的全局变量。此外,他还提供了一些最佳实践,如使用立即执行函数表达式...

    JavaScript客户端验证和页面特效制作(JavaScript)

    JavaScript库如jQuery、React或Vue.js提供了丰富的API和工具,使得开发者能够轻松实现如滑动效果、淡入淡出、弹窗提示、轮播图、拖放功能等特效。这些特效不仅增加了用户的参与度,也有助于塑造品牌形象。 在提供的...

    Web编程基础——CSS、JavaScript、jQuery【高清版】

    《Web编程基础——CSS、JavaScript、jQuery》是一本旨在教授Web前端开发基础知识的教程,涵盖了网页样式设计、动态脚本语言以及广泛使用的JavaScript库。在Web开发领域,这三者是构建交互式和响应式网站不可或缺的...

    checkifjs该库旨在在javascript环境中执行各种检查

    总的来说,checkif.js是一个实用的JavaScript库,它的出现使得开发者在处理数据检查和表单验证时更加高效和方便。通过使用这个库,我们可以将更多精力放在业务逻辑上,而不是基础的验证代码上。无论是初学者还是经验...

    精通JavaScript(源代码) jQuery之父John Resig所写

    《精通JavaScript(源代码)》是由jQuery之父John Resig撰写的高级JavaScript技术书籍,它不仅深入探讨了JavaScript的核心概念,而且重点解析了jQuery库的内部工作机制,为读者揭示了JavaScript编程的深层次奥秘。...

    很灵活的javascript 表格排序 功能强大 可自定义排序规则

    这个功能强大的JavaScript库,被称为"sorttable",能够帮助开发者轻松实现表格数据的排序,同时提供了自定义排序规则的能力,大大增强了用户体验。 首先,我们要理解sorttable的核心概念。在JavaScript中,排序通常...

    renju-rules:用于Renju规则JavaScript库

    在JavaScript编程领域,"renju-rules" 是一个专门用于实现Renju游戏规则的库,方便开发者在网页或者应用程序中集成Renju游戏功能。这个库以JavaScript编写,允许开发者在前端或后端环境中应用Renju的逻辑。 该库的...

    网页web报表,javascript报表,简单好看

    在实际项目中,还可以利用JavaScript库的高级特性,比如动画效果、图例控制、工具提示、区域选择、缩放和平移等,来增强报表的功能性和吸引力。同时,考虑到性能优化,避免一次性加载大量数据,可以采用分页或懒加载...

Global site tag (gtag.js) - Google Analytics