abeet / Blog

github写博客,博客文章见本项目Issues
23 stars 2 forks source link

Zving前端开发规范(JS部分) #22

Open abeet opened 7 years ago

abeet commented 7 years ago

Zving前端开发规范(JS部分)

最后修改2017-03-10

目录

引言

软件的长期价值直接源于其编码质量,清晰易理解的代码是编码质量的重要一环,代码应该写成可供他人容易阅读的。

编写目的

本文档旨在为zving前端开发提供基本规范,保持页面规范,避免版本管理(git/svn)中开发人员因代码风格不同而产生的非功能性的冲突,提高前端开发人员协作开发的水平。同时减少页面错误、提高系统健壮性。

使用环境及对象

本规范适用基于浏览器的B/S版软件项目开发工作。适用于目前正在进行开发的系统(ZCMS,ZOA,ZShop)的前/后台页面。本规范不约束第三方库(如jQuery、React)。

适用对象包括:

JS开发编辑器

我们约定使用 JavaScript Standard Style(Standard JS风格规范),所以请使用以下编辑器和安装 Standard 插件

Visual Studio Code

下载地址 https://code.visualstudio.com/
安装JavaScript Standard Style插件:vscode-standardjs
参考 https://marketplace.visualstudio.com/items?itemName=chenxsan.vscode-standardjs

Sublime Text

下载地址 http://www.sublimetext.com
安装JavaScript Standard Style插件:依次安装SublimeLinterSublime​Linter-contrib-standardStandardFormat
参考
http://www.sublimelinter.com/en/latest/installation.html
https://packagecontrol.io/packages/SublimeLinter-contrib-standard
https://packagecontrol.io/packages/StandardFormat

Atom

下载地址 https://atom.io/
安装JavaScript Standard Style插件:依次安装linter-js-standardstandard-formatterstandardjs-snippets
参考
https://atom.io/packages/linter-js-standard
https://atom.io/packages/standard-formatter
https://atom.io/packages/standardjs-snippets

VIM

下载地址 http://www.vim.org/
安装JavaScript Standard Style插件:安装Syntastic插件里面包含有Standard,或者安装spf13-vim插件包,里面包含有Syntastic插件,并且默认开启了Standard
参考
https://github.com/vim-syntastic/syntastic http://vim.spf13.com/

WebStorm

下载地址 http://www.jetbrains.com/webstorm/ 可以直接在 IDE 中使用 standard。无需再安装JavaScript Standard Style插件。

编码

JS文件的“换行符类型”为“windows换行符-CR/LF”;编码为UTF-8(在需要与支持GBK的控件交互的情况下,使用GBK编码)

Javascript编码规范

我们约定使用Airbnb公司的JavaScript编码规范,参考网址 https://github.com/airbnb/javascript

JS风格一览表

结构 规则 备注
模块 首字母大写驼峰 不要使用多重语义(Never multiple words)
文件名 首字母大写驼峰 可带版本号或其它说明,如Dialog.compress.js
首字母大写驼峰  
公有方法 首字母小写驼峰  
公有属性 首字母小写驼峰  
私有方法/属性 '_'+首字母小写驼峰  
侵入型私有属性 '__'+首字母小写驼峰 侵入型私有属性是指在别的对象上偷偷添加,给自己用的私有属性。需要尽量避免本类属性
变量 首字母小写驼峰  
常量 首字母小写驼峰或大写 (可以包含_)  

编码规范目录

  1. 类型
  2. 对象
  3. 数组
  4. 字符串
  5. 函数
  6. 属性
  7. 变量
  8. 提升
  9. 比较运算符 & 等号
  10. 注释
  11. 空白
  12. 逗号
  13. 分号
  14. 类型转化
  15. 命名规则
  16. 存取器
  17. 构造函数
  18. 事件
  19. 模块
  20. jQuery

类型

↑ 回到编码规范目录

对象

↑ 回到编码规范目录

数组

↑ 回到编码规范目录

字符串

↑ 回到编码规范目录

函数

↑ 回到编码规范目录

属性

↑ 回到编码规范目录

变量

↑ 回到编码规范目录

提升

↑ 回到编码规范目录

比较运算符 & 等号

↑ 回到编码规范目录

↑ 回到编码规范目录

注释

↑ 回到编码规范目录

空白

↑ 回到编码规范目录

逗号

↑ 回到编码规范目录

分号

↑ 回到编码规范目录

类型转换

↑ 回到编码规范目录

命名规则

↑ 回到编码规范目录

存取器

↑ 回到编码规范目录

构造函数

↑ 回到编码规范目录

事件

模块

↑ 回到编码规范目录

jQuery

↑ 回到编码规范目录

其他注意事项

ECMAScript 5 兼容性

参考 Kangax 的 ES5 兼容表
ES5的严格模式下,以下情况下会显式的报错;所以要避免以下写法。

特别注意

其他建议

鼓励

基础类及工具类开发流程