《Vue前端开发手册》

vue

序言

为了统一前端的技术栈问题,技术开发二部规定开发技术必须以Vue为主。

为了更好的规范公司的前端框架,现以我前端架构师为主,编写以下开发规范,如有不当的地方,欢迎批评教育并慢慢改善该开发文档,谢谢合作。

我们在做产品不只是实现功能,还要考虑到以后的优化升级,那么就需要一套标准的代码规范,使得代码易懂,养成代码规范的习惯,有助于程序员自身的成长。那么我们现在就来谈谈,前端代码的规范。

一、编码规范

1、样式文件命名说明

注:【css处理程序统一使用stylus,并放在“src/common/stylus”目录下】

(1)重置样式:reset.stylus

(2)基础布局样式:base.stylus

(3)公共样式:public.stylus

(4)变量样式:variable.stylus

(5)icon样式:icon.stylus

(6)混合类型(函数样式):mixin.stylus

2、样式规范化

(1)连字符CSS选择器命名规范

长名称或词组可以使用“中横线”来为选择器命名。 不建议使用“_”下划线来命名CSS选择器,例:class=”page page-index”。

(2)使用16进制表示颜色值,除非表示的是透明度,例:#F62AB5

(3)以下常用的css命名规则;

page-hd、page-bd、page-ft、tit、cnt、desc、info、left-bar、search-bar

 

3、文件目录

(1)存放其它图片文件夹命名规范:imgaes

(2)存放广告图的文件夹banner

(3)文件名应该全部小写,多个单词以下划线“_”分开

(4)JS文件:驼峰命名方式,首字母小写,例:getUserInfo.js

(5)确保文档或模板中只包含html,把用到的样式都写到样式表文件中,把脚本都写到js文件中,采用外链引入形式,使页面的结构与行为分离。

4、 Javascript

(1)因vue脚手架有自动编译的功能,为了代码的整洁,每行js代码不必带“;”作为结束,但需遵循一个语句一行的编码方式;

5、命名规范

(1)文件命名:以英文命名,后缀为.js,例:(共用)common.js,其他命名可根据模块需求命名;

(2)变量命名:驼峰式命名,原生JavaScript变量要求是纯英文字母, 首字母须小写,变量集中声明, 避免全局变量
(3)类命名:首字母大写, 驼峰式命名。eg:StudentInfo、UserInfo、ProductInfo;

(4)函数命名:首字母小写驼峰式命名。eg:getUserInfo;

(5)命名语义化,尽可能利用英文单词或其缩写。

(6)常量:必须采用全大写的命名,且单词以_分割,常量通常用于ajax请求url,和一些不会改变的数据;

命名规范:使用大写字母和下划线来组合命名,下划线用以分割单词。

例:const MAX_LENGTH = 20;const URL = \'http://www.star.com\'

(7)变量:必须采用小驼峰式命名法,例:let maxCount = 10;

6、项目命名

全部采用小写方式, 以下划线分隔。例:my_project_name

 

7、函数

命名方法:小驼峰式命名法;

命名规范:前缀应当为动词;

命名建议:可使用常见动词约定。

动词

含义

返回值

can

判断是否可执行某个动作(权限)

函数返回一个布尔值。true:可执行;false:不可执行

has

判断是否含有某个值

函数返回一个布尔值。true:含有此值;false:不含有此值

is

判断是否为某个值

函数返回一个布尔值。true:为某个值;false:不为某个值

get

获取某个值

函数返回一个非布尔值

set

设置某个值

无返回值、返回是否设置成功或者返回链式对象

load

加载某些数据

无返回值或者返回是否加载完成的结果

8、类 & 构造函数

命名方法:大驼峰式命名法,首字母大写;例:Person

命名规范:前缀为名称。

示例:

class Person {

  public name: string;

  constructor(name) {

    this.name = name;

  }

}

const person = new Person(\'mevyn\');

9、类的成员

类的成员包含:

公共属性和方法:跟变量和函数的命名一样。

私有属性和方法:前缀为_(下划线),后面跟公共属性和方法一样的命名方式。

示例:

class Person {

  private _name: string;

  constructor() { }

  // 公共方法

  getName() {

    return this._name;

  }

  // 公共方法

  setName(name) {

    this._name = name;

  }

}

const person = new Person();

person.setName(\'star\');

person.getName(); // ->\'star\'

10、注释规范

js 支持三种不同类型的注释:行内注释、单行注释和多行注释:

  1. 行内注释

  • 说明:行内注释以两个斜线开始,以行尾结束。
  • 语法:code // 这是行内注释
  • 使用方式://(双斜线)与代码之间保留一个空格,并且//(双斜线)与注释文字之间保留一个空格。

命名建议:

// 用来显示一个解释的评论
// -> 用来显示表达式的结果,
// >用来显示 console 的输出结果,

示例:

function test() { // 测试函数

  console.log(\'Hello World!\'); // >Hello World!

  return 3 + 2; // ->5

}

  1. 单行注释

  • 说明:单行注释以两个斜线开始,以行尾结束。
  • 语法:// 这是单行注释
  • 使用方式:单独一行://(双斜线)与注释文字之间保留一个空格。

示例:

// 调用了一个函数;1)单独在一行setTitle();

  1. 多行注释

  • 说明:以 /* 开头, */ 结尾
  • 语法:/* 注释说明 */
  • 使用方法:若开始/和结束/都在一行,推荐采用单行注释。若至少三行注释时,第一行为/,最后行为/,其他行以开始,并且注释文字与保留一个空格。

示例:

/** 代码执行到这里后会调用setTitle()函数* setTitle():设置title的值

*/

setTitle();

  1. 函数(方法)注释

说明:函数(方法)注释也是多行注释的一种,但是包含了特殊的注释要求,参照JSDoc

语法:

/** * 函数说明 * @关键字

*/

常用注释关键字:(只列出一部分,并不是全部)

注释名

语法

含义

示例

@param

@param 参数名 {参数类型} 描述信息

描述参数的信息

@param name {String} 传入名称

@return

@return {返回类型} 描述信息

描述返回值的信息

@return {Boolean} true:可执行;false:不可执行

@author

@author 作者信息 [附属信息:如邮箱、日期]

描述此函数作者的信息

@author 张三 2015/07/21

@version

@version XX.XX.XX

描述此函数的版本号

@version 1.0.3

@example

@example 示例代码

演示函数的使用

@example setTitle(‘测试’)

/*** 合并Grid的行

* @param grid {Ext.Grid.Panel} 需要合并的Grid

* @param cols {Array} 需要合并列的Index(序号)数组;从0开始计数,序号也包含。

* @param isAllSome {Boolean} :是否2个tr的cols必须完成一样才能进行合并。true:完成一样;false(默认):不完全一样

* @return void

* @author polk6 2015/07/21

* @example

* _________________                             _________________

* |  年龄 |  姓名 |                             |  年龄 |  姓名 |

* -----------------      mergeCells(grid,[0])   -----------------

* |  18   |  张三 |              =>             |       |  张三 |

* -----------------                             -  18   ---------

* |  18   |  王五 |                             |       |  王五 |

* -----------------                             -----------------

*/

function mergeCells(grid: Ext.Grid.Panel, cols: Number[], isAllSome: boolean = false) {

  // Do Something

}

11、手机设计稿规范

设计稿的宽度一般情况下为宽度750px,在手机端页面编写的过程,将页面的最大宽度设置为750px,最小宽度为375xp,宽度为100%;即min-width:375px;max-width:750px;width100%;这样一来的话宽度在375到750之间是自适应的,当页面小于375时出现水平滚动条,当页面大于750时页面居中布局。

 

 

二、vue框架推荐

小程序:mpvue框架

H5游戏:vue

H5的UI框架:vux

推广类seo优化,如新闻,博客:nuxt.js

UI:element

APP:weex、Flutter

开发环境版本建议

技术

版本

查看命令

node

8.12.0

node-v

vue  

2.5.17

vue -V(大写)

npm

6.4.1

npm -v

webpack

4.19.1

webpack -v

nuxt

2.00

/

Element-ui

2.47

/

 

   

以上是 《Vue前端开发手册》 的全部内容, 来源链接: utcz.com/z/380950.html

回到顶部