HTML 規範css
<template>
<!-- 訂單管理 -->
<div class="inner-content order-manage-content">
...
</div>
</template>
複製代碼
標籤屬性順序vue
編寫 HTML 代碼時,儘可能避免多餘的無心義的父元素。git
CSS 規範es6
命名規範算法
一概小寫英文 命名短且語義化 多單詞鏈接(建議使用 BEM 命名原理)
我的推薦能夠按照
父組件:文件名稱-元素–修飾符來進行命名
子組件:文件名稱-組件名稱-元素–修飾符來進行命名sql
數值:小於 1 的小數,可省略 0,opacity: .4,爲 0 的就不要單位 margin: 0;npm
顏色:統一使用十六進制(小寫)數組
JS 規範bash
命名規範mvc
函數註釋:簡單描述函數做用以及參數
三元操做符和 switch 用於替代 if 條件判斷語句
善用&& 和 ||(二元布爾操做符是可短路的, 只有在必要時纔會計算到最後一項)
特殊語法
// 數組解構賦值
const arr = [1, 2, 3, 4];
// 推薦
const [first, second] = arr;
// 不推薦
const first = arr[0];
const second = arr[1];
// 對象解構賦值
// 推薦
function getFullName(obj) {
const { firstName, lastName } = obj;
}
// best
function getFullName({ firstName, lastName }) {}
// 不推薦
function getFullName(user) {
const firstName = user.firstName;
const lastName = user.lastName;
}
複製代碼
const items = [1, 2, 3, 4, 5];
// 推薦
const itemsCopy = [...items];
// 不推薦
const itemsCopy = items;
複製代碼
// 推薦
const boundMethod = (...params) => method.apply(this, params);
// 不推薦
const self = this;
const boundMethod = function(...params) {
return method.apply(self, params);
};
複製代碼
// 推薦
import myObject from './importModule';
// 不推薦
import * as myObject from './importModule';
複製代碼
function makeStyleGuide() {}
export default makeStyleGuide;
複製代碼
const StyleGuide = {
es6: {}
};
export default StyleGuide;
複製代碼
VUE 規範
<a
:href="item.onestore_url"
target="_blank"
@click="onToDownload()"
/>
複製代碼
// 不推薦 這樣作只有開發原型系統時能夠接受
props: ['status']
// 推薦
props: {
status: {
type: String,
required: true,
validator: function (value) {
return [
'syncing',
'synced',
'version-conflict',
'error'
].indexOf(value) !== -1
}
}
}
複製代碼
在聲明 prop 的時候,其命名應該始終使用 camelCase,而在模板和 JSX 中應該始終使用 kebab-case。
![]()
- v-if 切換有一個局部編譯/卸載的過程,切換過程當中合適地銷燬和重建內部的事件監聽和子組件 適合運營條件不大可能改變
- v-show 只是簡單的基於css切換 適合頻繁切換
框架事件必須以on開頭(如:@click="onTabSwitch")
自定義事件必須以handle開頭(如:@click="handleTabSwitch")
註釋規範
代碼註釋在一個項目的後期維護中顯的尤其重要,因此咱們要爲每個被複用的組件編寫組件使用說明,爲組件中每個方法編寫方法說明。
如下狀況,務必添加註釋
1.公共組件使用說明
2.各組件中重要函數或者類說明
3.複雜的業務邏輯處理說明
4.特殊狀況的代碼處理說明,對於代碼中特殊用途的變量、存在臨界值、函數中使用的hack、使用了某種算法或思路等須要進行註釋描述
5.註釋塊必須以/**(至少兩個星號)開頭**/;
6.單行註釋使用//;
7.多重 if 判斷語句
複製代碼