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

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

(一) 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=

相关文章
|
1月前
|
缓存 前端开发
前端代码整洁与规范之CSS篇
【4月更文挑战第2天】 前端代码整洁与规范之CSS篇
79 4
|
1月前
|
前端开发 JavaScript API
前端代码书写规范
前端代码规范提升项目可维护性和团队协作效率。关注项目命名清晰简洁、一致性,组件命名使用驼峰式且具描述性。JS遵循4空格缩进,分号结束语句,CSS按逻辑排序,HTML注重语义化。注释要功能性、文档化且简洁。遵循规范能减少错误,增强团队沟通。
94 3
|
1月前
|
缓存 JavaScript 前端开发
前端 JS 经典:CommonJs 规范
前端 JS 经典:CommonJs 规范
28 0
|
1月前
|
前端开发
【Web前端】CSS基本语法规范和引入方式&&常见选择器用法&&常见元素属性
【Web前端】CSS基本语法规范和引入方式&&常见选择器用法&&常见元素属性
|
1月前
|
前端开发 JavaScript 算法
比较流行的前端代码书写规范都有哪些
【4月更文挑战第13天】前端代码规范增进代码可读性和团队协作,包括缩进(用2空格)、命名(变量 camelCase,常量 MY_CONSTANT,类 PascalCase)、注释、语句与表达式、错误处理、代码复用。文件命名规范涉及扩展名、目录结构、简洁文件名、入口文件和配置文件命名。遵循这些规范能提高代码一致性,但需按项目需求调整。不断学习新规范以适应前端技术发展。
37 1
|
1月前
|
前端开发 数据安全/隐私保护
开发指南016-前端图标规范
平台为了保证统一性,做了很多约定,例如按钮图标等
|
1月前
|
人工智能 自然语言处理 前端开发
前端训练不规范导致AIGC模型“上梁不正”
【1月更文挑战第23天】前端训练不规范导致AIGC模型“上梁不正”
54 1
前端训练不规范导致AIGC模型“上梁不正”
|
1月前
|
前端开发
前端模块化开发规范
前端模块化开发规范
|
1月前
|
前端开发 JavaScript 持续交付
前端代码审查规范
前端代码审查规范
127 0
|
7月前
|
前端开发 JavaScript 编译器
前端开发规范:命名规范、html规范、css规范、js规范(四)
前端开发规范:命名规范、html规范、css规范、js规范
168 0