【开发规范系列】(四)前端开发规范(三)

简介: 【开发规范系列】(四)前端开发规范(三)

(一) Vue 编码基础

vue 项目规范以 Vue 官方规范(https://cn.vuejs.org/v2/style-guide/[3] 中的 A 规范为基础,在其上面进行项目开发,故所有代码均遵守该规范。

请仔细阅读 Vue 官方规范,切记,此为第一步。

2.1.1 组件规范
1) 组件名为多个单词。

组件名应该始终由多个单词组成,且命名规范为KebabCase格式。这样做可以避免与现有和未来的 HTML 元素冲突,因为所有 HTML 元素名称都是由单个单词组成的。

正例:

export default {
  name: 'TodoItem'
};

反例:

export default {
  name: 'Todo'
};
export default {
  name: 'todo-item'
};
2) 组件文件名为 PascalCase 格式

正例:

components/
|- MyComponent.vue

反例:

components/
|- myComponent.vue
|- MyComponent.vue
3) 基础组件文件名以 base 开头,使用完整单词而不是缩写。

正例:

components/
|- base-button.vue
|- base-table.vue
|- base-icon.vue

反例:

components/
|- MyButton.vue
|- VueTable.vue
|- Icon.vue
4) 和父组件紧密耦合的子组件应该以父组件名作为前缀命名

正例:

components/
|- todo-list.vue
|- todo-list-item.vue
|- todo-list-item-button.vue
|- user-profile-options.vue (完整单词)

反例:

components/
|- TodoList.vue
|- TodoItem.vue
|- TodoButton.vue
|- UProfOpts.vue (使用了缩写)
5) 在 Template 模板中使用组件,应使用 PascalCase 格式,并使用自闭合组件。

正例:

<MyComponent />
<Row><table :column="data"/></Row>

反例:

<my-component /> <row><table :column="data"/></row>
6) 组件的 data 必须是一个函数

当在组件中使用 data 属性时(除了 new Vue 外的任何地方),它的值必须是一个返回对象的函数。因为如果直接是一个对象,子组件之间的属性值会相互影响。

正例:

export default {
  data () {
    return {
      name: 'jack'
    }
  }
}
• 1

反例:

export default {
  data: {
    name: 'jack'
  }
}
7) Prop 定义应该尽量详细
  • 必须使用 camelCase 驼峰命名
  • 必须指定类型
  • 必须加上注释,表明其含义
  • 必须加上 required 或者 default,两者二选其一
  • 如果有业务需要,必须加上 validator 验证

正例:

props: {
  status: {
    type: String,
    required: true,
    validator: function (value) {
      return [
        'succ',
        'info',
        'error'
      ].indexOf(value) !== -1
    }
  },
  userLevel: {
    type: String,
    required: true
  }
}
8) 为组件样式设置作用域

正例:

<template>
  <button class="btn btn-close">X</button>
</template>
<style scoped>
  .btn-close {
    background-color: red;
  }
</style>

反例:

<template>
  <button class="btn btn-close">X</button>
</template>
<style>
  .btn-close {
    background-color: red;
  }
</style>
9) 如果特性元素较多,应主动换行。

正例:

<MyComponent foo="a" bar="b" baz="c"
    foo="a" bar="b" baz="c"
    foo="a" bar="b" baz="c"
/>

反例:

<MyComponent foo="a" bar="b" baz="c" foo="a" bar="b" baz="c" foo="a" bar="b" baz="c" foo="a" bar=

相关文章
|
Dart 前端开发
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
581 75
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
前端开发 JavaScript API
前端代码书写规范
前端代码规范提升项目可维护性和团队协作效率。关注项目命名清晰简洁、一致性,组件命名使用驼峰式且具描述性。JS遵循4空格缩进,分号结束语句,CSS按逻辑排序,HTML注重语义化。注释要功能性、文档化且简洁。遵循规范能减少错误,增强团队沟通。
899 3
|
前端开发 JavaScript 开发工具
前端规范
前端规范
|
前端开发 测试技术
如何从零到一建立前端规范
【10月更文挑战第6天】
449 2
|
监控 前端开发 开发者
前端代码规范 - 日志打印规范
前端代码规范 - 日志打印规范
|
缓存 JavaScript 前端开发
|
前端开发
前端代码书写规范
【8月更文挑战第15天】前端代码书写规范
824 0
|
缓存 JavaScript 前端开发
前端 JS 经典:CommonJs 规范
前端 JS 经典:CommonJs 规范
345 0
|
前端开发
【Web前端】CSS基本语法规范和引入方式&&常见选择器用法&&常见元素属性
【Web前端】CSS基本语法规范和引入方式&&常见选择器用法&&常见元素属性
337 0
|
前端开发 数据安全/隐私保护
开发指南016-前端图标规范
平台为了保证统一性,做了很多约定,例如按钮图标等

热门文章

最新文章

  • 1
    前端如何存储数据:Cookie、LocalStorage 与 SessionStorage 全面解析
    1280
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    586
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    445
  • 4
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    446
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    568
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    744
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    1454
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    323
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    1177
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    518