小程序開(kāi)發(fā)文檔規(guī)范

目錄規(guī)范

1.目錄概述

組件文件

所有組件相關(guān)文件統(tǒng)一放在components目錄下。

圖片文件

項(xiàng)目圖片文件放置于根目錄的images文件夾下,組件獨(dú)有的圖片放在當(dāng)前組件images目錄下

模型文件

模型文件主要用于編寫(xiě)各類(lèi)業(yè)務(wù)模型。項(xiàng)目模型文件放置于根目錄的models文件夾下,組件相關(guān)模型放置于components目錄下的models文件夾中。

行為文件

行為文件放在所引用的組件目錄下。


WXML規(guī)范

1.?????WXML規(guī)范

wxml標(biāo)簽可以單獨(dú)出現(xiàn)的情況,盡量單獨(dú)出現(xiàn),如<input />。

<input />

控制每行HTML的代碼數(shù)量在50個(gè)字符以?xún)?nèi),方便閱讀瀏覽,多余的代碼進(jìn)行換行處理,標(biāo)簽所帶屬性每個(gè)屬性間進(jìn)行換行。

<v-music

wx:if="{{classic.type===200}}"

img="{{classic.img}}"

content="{{classic.content}}"

</v-music>

合理展現(xiàn)分離內(nèi)容,不要使用內(nèi)聯(lián)樣式。

<image class="tag"></image>


2.?????注釋規(guī)范

除組件外的其他塊級(jí)元素,均需注釋出其功能,并在其上下空出一行與其他代碼進(jìn)行區(qū)分。

<view>...</view>

//導(dǎo)航欄

<view>...</view>

<view>...</view>

CSS規(guī)范

1.????CSS規(guī)范

在開(kāi)發(fā)過(guò)程中rpx和px均可能用到,如通常情況下間距使用rpx,字體大小和邊框等使用px,開(kāi)發(fā)者根據(jù)實(shí)際情況而定。

width: 100rpx;

font-size: 14px;

CSS代碼需有明顯的代碼縮進(jìn)。每一個(gè)樣式類(lèi)之間空出一行。

.v-tag{

? ? width: 100%;

}

.v-container{

? ? width: 100%;

}

盡量使用簡(jiǎn)寫(xiě)屬性,并且同一屬性放置在一起,避免散亂。

/**使用簡(jiǎn)寫(xiě)屬性**/

.v-image{

? ? margin: 0 auto;

}

/**同一屬性放在一塊**/

.v-tag{

? ? margin-left: 10rpx;

? ? margin-right: 10rpx

}

采用flex進(jìn)行布局,禁止使用float以及vertical-align。

.container{

? ? disaplay: flex;

? ? flex-dirextion: row

}

2.?????注釋規(guī)范

成組的wxss規(guī)則之間用塊狀注釋。請(qǐng)勿在代碼后面直接注釋。

/** 修改button默認(rèn)的點(diǎn)擊態(tài)樣式類(lèi)**/

.button-hover {

? ? background-color: red;

}

JS規(guī)范

1.?????JS規(guī)范

命名規(guī)范

變量名以及函數(shù)名統(tǒng)一采用駝峰命名法,正常情況下函數(shù)名前綴需加上清晰的動(dòng)詞表示函數(shù)功能,私有函數(shù)或者屬性以下劃線開(kāi)頭表明。常量需用const 聲明。

類(lèi)的命名首字母需大寫(xiě)。

采用ES6 關(guān)鍵字let定義變量,盡量不使用var

//定義常量

const a = 1

//定義變量

let imageContent = res.data

//函數(shù)命名

getInfo:function(){

? ? return '';

}

//私有函數(shù)

_getInfo:function(){

? ? return '';

}

回調(diào)函數(shù)規(guī)范

回調(diào)函數(shù)統(tǒng)一使用Promise函數(shù)的方式進(jìn)行編寫(xiě),回調(diào)成功的參數(shù)統(tǒng)一為res,錯(cuò)誤參數(shù)為err。

// promise 處理回調(diào)

let back = new Promise((resolve, reject) => {

? ? if (/* 異步操作成功 */){

? ? ? ? resolve(value);

? ? } else {

? ? ? ? reject(error);

? ? }

});

back.then((res) => {

? ? ? console.log('成功回調(diào)!', res);

? ? }).catch((err) => {

? ? ? console.log('失敗回調(diào)!', error);

});

私有函數(shù)以及回調(diào)函數(shù)統(tǒng)一放置在生命周期函數(shù)后。

刪除js文件中未用到的生命周期函數(shù),保持代碼的整潔。

Pages({

? ? data:{

? ? },

? ? onLoad:function(event){


? ? },

? ? _self:function(){

? ? }

})

每個(gè)函數(shù)之間用一個(gè)空行分離結(jié)構(gòu)。

數(shù)據(jù)綁定變量定義規(guī)范

所有涉及到數(shù)據(jù)綁定的變量均需在data中初始化。禁止在不定義的情況下直接setData。

Pages({

? ? data:{

? ? ? ? id : null

? ? },

? ? onLoad:function(event){

? ? ? ? let id = event.target.dataset.id

? ? ? ? this.data.id = id

? ? }

})

點(diǎn)擊事件規(guī)范

點(diǎn)擊事件函數(shù)命名方式為 on + 事件名 或者業(yè)務(wù)名。

onLike: function(event){

}

組件規(guī)范

組件名命名規(guī)范

組件在使用時(shí)命名以 “v-”為開(kāi)頭的組件名,若組件名稱(chēng)為多個(gè)單詞名拼接而成,采用 ' - ' 連接。組件標(biāo)簽在page頁(yè)面使用時(shí)推薦使用單閉合標(biāo)簽(此條約束對(duì)于包含有slot的組件無(wú)效)

v 來(lái)源于法語(yǔ) 單詞 ‘vent’ @林間有風(fēng)

<v-movies />

觸發(fā)事件規(guī)范

組件點(diǎn)擊觸發(fā)事件建議用冒號(hào)分隔開(kāi)

<v-component-tag-name bind:myevent="onMyEvent" />

externalClasses命名規(guī)范

命名格式采用如下形式:v-class-{name},name可自行定義

v-class-icon


組件樣式規(guī)范

所有組件樣式均應(yīng)采用類(lèi)的寫(xiě)法,且命名必須以 v- 開(kāi)頭,不允許使用內(nèi)聯(lián)樣式以及id樣式

.v-container{

? ? disaplay: flex;

? ? flex-dirextion: row

}

標(biāo)點(diǎn)規(guī)范

JS語(yǔ)句無(wú)需以分號(hào)結(jié)束,統(tǒng)一省略分號(hào)

JS中一致使用反引號(hào) ``或單引號(hào)' ' , 不使用雙引號(hào)。

WXML、CSS、JSON中均應(yīng)使用雙引號(hào)。

CSS屬性中冒號(hào)中后面用一個(gè)空格分隔開(kāi)。

————————————————

原文鏈接:https://blog.csdn.net/qq_29920751/article/details/87623435

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容