摘要:对于构造函数,使用大驼峰式大小写。构造函数的命名应当是名词。引号的使用,字符串,倾向于使用单引号,并始终保持这个风格。块语句间隔,推荐使用风格。风格风格风格此处省略了的使用规范使用规范循环必须使用。
基本格式
使用4个空格字符作为一个缩进层级,(记得配置编辑器)。
不要省略分号。
行的长度限定在80个字符。
长度超过限制时,选择在运算符之后换行,下一行需要两个层级的缩进。例外,变量赋值以及变量声明时,第二行应当和赋值运算符或第一个变量保持对齐。
适当的增加空行:
在方法之前。
在方法的局部变量和第一条语句之间。
在多行或单行注释之前。
在方法内的逻辑片段之间插入空行,提高可读性。
变量和函数命名,统一使用小驼峰式大小写,即首字母小写,后续每个单词首字母都大写。对于构造函数,使用大驼峰式大小写。匈牙利命名,如sName表示字符串,iCount表示整数,不推荐使用。
推荐的命名方式
变量的命名应当是名词。
函数和方法的前缀应当是动词。
构造函数的命名应当是名词。
一些常见动词的约定:
动词 | 含义 |
---|---|
can | 函数返回一个布尔值 |
has | 函数返回一个布尔值 |
is | 函数返回一个布尔值 |
get | 函数返回一个非布尔值 |
set | 函数用来保存一个值 |
常量,使用大写字母和下划线来命名,下划线用以分隔单词。
引号的使用,字符串,倾向于使用单引号,并始终保持这个风格。
null 的使用场景为,期望是对象的变量,参数,返回值,把它当作对象的占位符。
变量在声明时即赋予初始值。undefined的问题见下:
jsvar b; console.log(b) // undefined console.log(typeof b); // "undefined" console.log(c) // 报错 console.log(typeof c) // "undefined" var a = {}; console.log(a.aaa) // undefined console.log(typeof a.aaa); // "undefined" console.log(d.aaa) // 报错 console.log(typeof d.aaa); // 报错
对象和数组使用直接量进行定义。
jsvar obj = { a: "a" } var arr = ["a","b","c"];注释
单行注释
用来解释下一行代码。请在这行注释之前插入一个空行,且缩进层级和下一行代码保持一致。
在代码行尾部的注释。代码结束到注释之间至少由一个缩进。该行不要超过最大字符限制,若超过请放置于该行上方。
注释大段的代码。
多行注释
风格如下:
js/* * 我是注释 * 另一段注释 */
与单行注释一样,注释之前有一个空行。
缩进与下一行代码一致。
使用注释
难以理解的代码
可能被误以为错误的代码
浏览器特性Hack
语句和表达式
所有的块语句都应该使用花括号。
if
for
while
do...while...
try...catch...finally
花括号的对齐规范
js// 推荐 if(condition) { doSomething(); } else { doSomethingElse(); } // 禁止,以免导致错误的分号自动插入。 if (condition) { doSomething(); } else { doSomethingElse(); }
块语句间隔,推荐使用Google JavaScript风格。
Dojo 风格
jsif(condition){ doSomething(); }
Google JavaScript 风格
jsif (condition) { doSomething(); }
jQuery 风格
jsif ( condition ) { doSomething(); }
此处省略了switch for的使用规范
for-in 使用规范
for-in 循环必须使用 hasOwnProperty()。
除非你要查找原型链,但必须补充注释。
不可用于遍历数组,数组必须使用for。
变量、函数和运算符js会将变量声明提前,因此在函数内部任意地方定义变量和在函数顶部定义变量是完全一样的。
尤其是js没有块级作用域,需注意。推荐做法是,有意识地将声明提升到函数块的顶部来做。
函数声明同样也会被js提前。推荐做法是,先声明后使用。
不可在条件语句中使用函数声明。
严格模式,"use strict"; 不要将该指令写到全局中,而是写在函数块内。
始终使用 === 和 !== 。
禁止使用 eval() ,唯一例外:涉及到回调中解析JSON的情形。
禁止使用原始包装类型(String,Boolean,Number)
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/85858.html
摘要:网络编程一直是的短板,尽管扩展弥补了这个缺陷,但是其编程风格偏向了或,与原本的同步编程风格迥然相异。目前的大部分主流应用框架依然是同步编程风格,所以一直在探索与同步编程结合的途径。正是连接同步编程和异步编程的一座桥梁,有兴趣可以关注一下。 网络编程一直是PHP的短板,尽管Swoole扩展弥补了这个缺陷,但是其编程风格偏向了NodeJS或GoLang,与原本的同步编程风格迥然相异。目前P...
摘要:工作中好的编程风格会更友好,不好的编程风格会让队友难受变量的声明使用和代替存在变量提升等副作用,声明常量使用命名规范使用小驼峰命名,变量名可读性好使用变量说明不要出现让人觉得晦涩难懂的变量不要重复命名当一个对象名有意义的时候,对象里面的的命 工作中好的编程风格会更友好,不好的编程风格会让队友难受 变量的声明 使用let和const代替var(var存在变量提升等副作用),声明常量使用c...
摘要:写在前面新司机最近读完编写可维护的,学到不少东西。书分为编程风格编程实践自动化三个部分。编程风格并不是绝对的,每个人或团队都有自己的编程风格,但知道哪些地方需要注意的话,还是有助于新司机完成代码风格的转变。 写在前面 新司机最近读完《编写可维护的JavaScript》,学到不少东西。书分为编程风格、编程实践、自动化三个部分。其中编程风格是你的代码格式约定,统一的格式不仅仅有利于团队,也...
摘要:最近在看一本有关编程规范的书,书中精炼阐述了使用语言时应该遵循的一些原则。所以拥有良好一致的编程规范对于一个团队至关重要。二坚持最小惊奇原则在编码过程中尽量避免可能让软件用户感到意外的做法。 最近在看一本有关Java编程规范的书,书中精炼阐述了使用java语言时应该遵循的一些原则。接下来的一段时间我将在这里总结我的学习内容,也希望这一系列文章能够对有需要的人有所帮助。 不考虑任何编码规...
摘要:如果团队成员文件合并,可能会让团队其他成员的代码报错推荐函数内部,即布局作用域内使用相等两个等号判断相等,容易出现强制类型转换推荐使用三个等于号用来判断相等原始包装类型避免使用参考资料编写可维护的 本文为《编写可维护的JavaScript》读书笔记 1、变量 变量名遵守驼峰大小写命名法 命名前缀可为名词,这样可与函数名区分 常量利用大写字母和下划线(用来分隔单词)来命名 所有变量声明...
阅读 3237·2021-11-24 09:39
阅读 2916·2021-09-09 11:34
阅读 3191·2021-09-07 09:58
阅读 2300·2019-08-30 13:07
阅读 2860·2019-08-29 15:09
阅读 1561·2019-08-29 13:01
阅读 2302·2019-08-26 12:18
阅读 1915·2019-08-26 10:28