H5 移动端、管理系统 开发规范文档

2024-05-07  本文已影响0人  iOS小武哥

开发规范的目的是保证统一项目成员的编码风格,并使代码美观,易于项目维护。

1.命名规范

1.1 项目文件命名
1.2 Vue 组件命名
和父组件紧密耦合的子组件应该以父组件名作为前缀命名。 因为编辑器通常会按字母顺序组织文件,所以这样做可以把相关联的文件排在一起。例:
|-TodoList.vue
|-TodoListItem.vue
|-TodoListItemButton.vue
1.3 代码参数命名
 {
    path: '/my-router',
    name: 'MyRouter',
    component: () => import("@/views/home/index.vue"),
    meta: {
      title: '标题',
      desc: '描述'
    }
  }
<MyComponent/>

在所有地方:

<my-component></my-component>
命名方法:camelCase
命名规范:类型 + 对象描述或属性的方式
命名方法:全部大写下划线分割
命名规范:使用大写字母和下划线来组合命名,下划线用以分割单词
  命名方法:camelCase
  命名规范:统一使用动词或者形容词 + 名词形式
  命名方法:camelCase
  命名规范:统一使用动词或者形容词 + 名词形式
  命名方法:camelCase
  命名规范:handle + 名称(可选)+ 动词

2.代码规范

1. 代码结构
<template></template>
<script></script>
<style></style>
2. 为 v-for 设置键值
 在组件上必须用 key 搭配 v-for,以便维护内部组件及其子树的状态。
3. v-if 和 v-for 互斥
 永远不要把 v-if 和 v-for 同时用在同一个元素上。

3.注释规范

1.单行注释

一般用于简单的描述,如某些状态描述、属性描述等。
注释内容前后各一个空格字符,注释位于要注释代码的上面,单独占一行。

<!-- Comment Text -->
<div>...</div>
2.模块注释

一般用于描述模块的名称以及模块开始与结束的位置。
注释内容前后各一个空格字符,模块与模块之间相隔一行。

<!-- S Comment Text A --> 
<div class="mod_a">
  ...
</div>
<!-- E Comment Text A -->
3.CSS 文件注释

3.1 单行注释:
注释内容第一个字符和最后一个字符都是一个空格字符,单独占一行,行与行之间相隔一行。

/* Comment Text */ 
.jdc {} 

3.2 模块注释:
注释内容第一个字符和最后一个字符都是一个空格字符,/ 与 模块信息描述占一行,多个横线分隔符 - 与 / 占一行,行与行之间相隔两行。
推荐:

/* Module A  
---------------------------------------------------------------- */
.mod_a {}


/* Module B 
---------------------------------------------------------------- */
.mod_b {}
1.单行注释

单行注释使用 //,注释应单独一行写在被注释对象的上方,不要追加在某条语句的后面。

// is current tab
const active = true
2.多行注释

多行注释使用 /* … /,而不是多行的 //。

/**
 * make() returns a new element
 * based on the passed-in tag name
 */
function make (tag) {
  // ...
 return element
}
3.注释空格

注释内容和注释符之间需要有一个空格,以增加可读性。eslint: spaced-comment。

// is current tab
const active = true
4.特殊标记

有时我们发现某个可能的 bug,但因为一些原因还没法修复;或者某个地方还有一些待完成的功能,这时我们需要使用相应的特殊标记注释来告知未来的自己或合作者。常用的特殊标记有两种:

// FIXME : 说明问题是什么
// TODO : 说明还要做什么或者问题的解决方案
5.文档类注释

文档类注释,如函数、类、文件、事件等;都使用 jsdoc 规范。

/**
 * Book类,代表一个书本.
 * @constructor
 * @param {string} title - 书本的标题.
 * @param {string} author - 书本的作者.
 */
function Book (title, author) {
 this.title = title
 this.author = author
}

4.版本管理

5.其它

上一篇 下一篇

猜你喜欢

热点阅读