写在前面:之前硬着头皮参加了java方面的编程规范培训,收货良多,工作半年有余的时候,总算感觉到一丝丝Coding之美,以及造轮子的乐趣,以至于后面开发新功能的时候,在Coding style方面花了很多时间,但还有一些细节方面,总感觉一直没有统一,比如什么时候该加空行,比如是不是所有的return前面都应该加个空行以及注释的添加等等,才有了对这本书《编写可维护的Javascript》的阅读,还是如之前一样,只收纳了一些自己看本书的时候,还未完全贯彻的style

  有待改进的点:在前端自动化的路上,还未曾使用过一些代码检查工具如JSLint,实在low的很,在code review的时候,花了更多的精力在coding style上面,而忽略了code review最重要的逻辑以及实现合理性上,拖延ing。

  1.行的长度

  java语言的编程规范中规定单行的长度不超过80个字符,文档中代码单行长度不超过70个字符,javascript没有详细的说明,所以暂且也是按照这个java的规范去执行

  2. 换行

//好的做法: 在运算符后换行,第二行追加两个缩进
callFunction(document, element, window, true, 123,
nav)

  当给变量赋值的时候,第二行的位置应该和赋值运算符的位置保持对齐

var result = something + antherThing + yetAntherThing + somethingElse +
enjoy

  

  3. 空行

  在下面这些场景中添加空行是不错的主意

   - 在方法之间

  - 在方法中的局部变量和第一条语句之间

  - 在多行或单行注释之前

  - 在方法内的逻辑片段之间插入空行,提高可读性

  4. 变量和函数

  变量定义使用名字,函数命名使用动词

  5.事件处理规则1 -- 隔离应用逻辑

  将应用逻辑从所有事件处理程序中抽离出来的做法是一种最佳实践,因为指不定什么时候其他地方就会触发同一段逻辑

  6.事件处理规则2 -- 不要分发事件对象

  不要将整个event对象作为参数进行传递,你需要确切的知道这个方法使用了哪些信息,这样才能方便的写出测试代码

  7.检测对象

  检测某个对象最好的方法是使用instanceof运算符,

  8.检测数组

  使用Array.isArray()检测一个值是否为数组

  9.检测属性

  判断属性是否存在的最好的方法是使用in运算符,in运算符仅仅会简单的判断属性是否存在,而不会去读属性的值,如果只想检查视力对象的某个属性是否存在,则使用hasOwnProperty()

  

编写可维护的Javascript读书笔记的更多相关文章

  1. 《编写可维护的JavaScript》 笔记

    <编写可维护的JavaScript> 笔记 我的github iSAM2016 概述 本书的一开始介绍了大量的编码规范,并且给出了最佳和错误的范例,大部分在网上的编码规范看过,就不在赘述 ...

  2. 编写可维护的javascript阅读笔记

    格式 变量 变量命名, 采取小驼峰大小写 变量使用名词, 函数前缀为动词 局部变量应统一定义在函数的最上面, 而不是散落在函数的任意角落. 赋初始值的定义在未赋初始值的变量的上面. 我个人建议不使用单 ...

  3. 读《编写可维护的javascript》笔记

    第一章 基本的格式化 缩进层级:推荐 tab:4; 换行:在运算符后面换行,第二行追加两个缩进: // Good: Break after operator, following line inden ...

  4. 《编写可维护的javascript》读书笔记(中)——编程实践

    上篇读书笔记系列之:<编写可维护的javascript>读书笔记(上) 上篇说的是编程风格,记录的都是最重要的点,不讲废话,写的比较简洁,而本篇将加入一些实例,因为那样比较容易说明问题. ...

  5. 【读书笔记】读《编写可维护的JavaScript》 - 编程实践(第二部分)

    本书的第二个部分总结了有关编程实践相关的内容,每一个章节都非常不错,捡取了其中5个章节的内容.对大家组织高维护性的代码具有辅导作用. 5个章节如下—— 一.UI层的松耦合 二.避免使用全局变量 三.事 ...

  6. 《编写可维护的javascript》读书笔记(上)

    最近在读<编写可维护的javascript>这本书,为了加深记忆,简单做个笔记,同时也让没有读过的同学有一个大概的了解. 一.编程风格 程序是写给人读的,所以一个团队的编程风格要保持一致. ...

  7. 编写可维护的JavaScript代码(部分)

    平时使用的时VS来进行代码的书写,VS会自动的将代码格式化,所有写了这么久的JS代码,也没有注意到这些点.看了<编写可维护的javascript代码>之后,做了些笔记. var resul ...

  8. 《编写可维护的JavaScript》之编程实践

    最近读完<编写可维护的JavaScript>,让我受益匪浅,它指明了编码过程中,需要注意的方方面面,在团队协作中特别有用,可维护性是一个非常大的话题,这本书是一个不错的起点. 本书虽短,却 ...

  9. 编写可维护的JavaScript 收纳架

    如果你看过Nicolas C.Zakas写过的任何作品,你必须承认他是个不折不扣的天才.也只有天才级的才能写出<JavaScript高级程序设计>让所有的前端攻城师人手一本.Nicolas ...

随机推荐

  1. Gulp实现服务器

    Gulp实现web服务器 Gulp实现web服务器 阅读目录 一:gulp实现web服务器配置: 二:添加实时刷新(livereload)支持 回到顶部 一:gulp实现web服务器配置: 对于前端开 ...

  2. 解决TabActivity中子页面不通过导航跳转到还有一个页面的问题

    问题:当你的导航在TabActivity中 而子页面的一个button须要切换到当中的某一个导航页面 转载请注明出处:http://blog.csdn.net/x605940745 demo下载地址: ...

  3. php zip文件内容比較类

    php zip 文件比較类,比較两个zip文件的内容,返回新增,删除,及同样的文件列表.临时仅仅支持单层. 需求:上传一个zip文件,zip内有非常多图片文件.须要对图片文件进行一系列非常耗时的处理. ...

  4. Redis c/c++, java client连接

    Redis 介绍 redis这个想必大家都了解,关于redis的安装參考这里,redis使用文档參见这里,英文文档. Redis Cclient的用法 Redis的cclient Hiredis使用比 ...

  5. RH033读书笔记(3)-Lab 4 Browsing the Filesystem

    Lab 4 Browsing the Filesystem Sequence 1: Directory and File Organization 1. Log in as user student ...

  6. Linux高性能server规划——多线程编程(在)

    多线程编程 Linux主题概述 线程模型 线程是程序中完毕一个独立任务的完整执行序列.即一个可调度的实体. 依据执行环境和调度者的身份.线程可分为内核线程和用户线程.内核线程,在有的系统上也称为LWP ...

  7. Android学习路径(十)怎么会Action Bar堆放在布局

    默认情况下.action bar出如今activity窗体的顶部.稍微降低了activity布局的总空间. 假设你想隐藏或者显示action bar.在这堂用户体验的课程中,你能够通过调用hide() ...

  8. struts2于validate要使用

    package com.test.action; import com.opensymphony.xwork2.ActionSupport; import com.test.model.User; p ...

  9. PKU A Simple Problem with Integers (段树更新间隔总和)

    意甲冠军:一个典型的段树C,Q问题,有n的数量a[i] (1~n),C, a, b,c在[a,b]加c Q a b 求[a,b]的和. #include<cstdio> #include& ...

  10. HDN2048(交错复发)

    上帝.神与神 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...