原文: 11条建议让你成为优秀的JavaScript程序员

每个编程语言都有他自己的个性,那么我们如何高效地掌握JavaScript呢?本 JavaScript教程 给你11条编程建议,让你成为优秀的程序员。

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

文章出处:(http://www.17javascript.com/)



11条建议让你成为优秀的JavaScript程序员相关推荐

  1. 培养意志力的11条建议

    培养意志力的11条建议 培养意志力 对于每一个要克服的障碍,都离不开意志力:面对着所执行的每一个艰难的决定,我们所依靠的是内心的力量.事实上,意志力并非是生来就有或者不可能改变的特性,它是一种能够培养 ...

  2. 学习C语言的教材、如何成为一名优秀的C程序员、激发程序员创意的6本书、国外程序员推荐:每个程序员都应读的书

    学习C语言的教材 我的C语言是自学的,这些年看过不少教材. 下面,我对其中一些教材做个点评. 1. How to Think Like a Computer Scientist: C version ...

  3. 像优秀的SQL程序员一样思考

    像优秀的SQL程序员一样思考 --<SQL编程风格> 本书详细信息请点击:http://www.china-pub.com/209168 数据库作为现代软件应用的核心之一,正在发挥越来越重 ...

  4. 优秀的Java程序员必须了解GC的工作原理

    一个优秀的Java程序员必须了解GC的工作原理.如何优化GC的性能.如何与GC进行有限的交互,因为有一些应用程序对性能要求较高,例如嵌入式系统.实时系统等,只有全面提升内存的管理效率 ,才能提高整个应 ...

  5. 如何成为一名优秀的C程序员

    问题的提出 每过一段时间我总会收到一些程序员发来的电子邮件,他们会问我是用什么编程语言来编写自己的游戏的,以及我是如何学习这种编程语言的.因此,我认为在这篇博文里列出一些有关C语言的最佳读物应该能帮到 ...

  6. 没有学历文凭,如何成为一名优秀的 Java 程序员?

    作为编程语言界的常青藤 Java,无论是在企业级应用,还是后端开发中,均有着无可替代的地位.而对于 Java 的入门,很多新手们不可避免的会走一些弯道.那么,如何才能有效地避开这些误区?又该如何快速实 ...

  7. 程序员用学位证吗_没有学位如何成为一名优秀的Java程序员

    程序员用学位证吗 掌握Java的道路是漫长而棘手的. 但是,在我从事编码工作的那几年中,我获得了一两个提示. 但是,如何成为一名优秀的Java程序员不是一个简单的问题? 您不需要任何正式培训. 您无需 ...

  8. 没有学历文凭,如何成为一名优秀的 Java 程序员

    "如何成为一名优秀的Java程序员"不是只字片语就能回答清楚的.没有相关的学位证书,你也可以被称为一名优秀的Java程序员. 你只需集中精力,主动利用网上丰富的资源,投入足够的时间 ...

  9. 一个优秀的Java程序员必须了解的GC机制

    一个优秀的Java程序员必须了解GC的工作原理.如何优化GC的性能.如何与GC进行有限的交互,有一些应用程序对性能要求较高,例如嵌入式系统.实时系统等,只有全面提升内存的管理效率,才能提高整个应用程序 ...

最新文章

  1. 冬奥会夺金的背后杀手锏,竟是位 AI 虚拟教练
  2. 双样本T检验——机器学习特征工程相关性分析实战
  3. anaconda怎么使用python包_Anaconda中python包的介绍与使用方法
  4. NSFetchedResultsController和UITableView显示CoreData的数据时用relationship分组的方法
  5. 200730学习日报6字符串
  6. 关于Redis与关系型数据的一些区别
  7. 服务器被一堆系统登录_WIN10做天高服务器客户端登录出现“操作系统原因无法登录”...
  8. pip 安装网络超时解决方案
  9. [转]iOS开发使用半透明模糊效果方法整理
  10. Linux IP别名,接口绑定,多网卡绑定
  11. Python3.6机器学习sklearn中导入train_test_split库出错“Unresolved reference ‘train_test_split’”
  12. mysql5.7未生成初始密码.mysql_secert文件,登陆数据库
  13. 关于Merge的整理--AndroidScreenSlidePager开源库中用到的
  14. 数据库系统工程师教程目录
  15. eeupdate使用说明_UNRAID中文插件分享以及部分问题解决方案
  16. 基于ATmega16单片机 程控滤波器程序源代码
  17. 还在纠结offer选择吗?也许你该看看这篇文章!
  18. Word 2016封面不显示页码
  19. Mac小白应该使用App Tamer减慢或停止哪些应用程序?
  20. linux 查看u盘痕迹记录,Linux使用记录

热门文章

  1. activiti 生命周期_一文让你读懂什么是Activiti工作流
  2. Java和pathion_Spring配置中的classpath:与classpath*:的区别
  3. 2021快手奢侈品行业数据价值报告
  4. html5判断file选择状态,HTML input type=file选择图片立即显示
  5. 大数据场景中语言虚拟机的应用和挑战
  6. 获奖者:武永卫,男,清华大学计算机系教授、博士生导师,《大数据》杂志编委。...
  7. 【计算机科学基础】VonNeumann体系结构
  8. 改进协议 BIP32-39-44概述
  9. [BZOJ2152]聪聪可可(点分治)
  10. IDEA 启动报错could not find main class com/intellij/idea/main解决办法