国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Web前端開(kāi)發(fā)標(biāo)準(zhǔn)規(guī)范

newtrek / 1939人閱讀

摘要:頁(yè)面名稱月影功能模塊,請(qǐng)?jiān)谀K之間加入注釋,中英文不做要求活動(dòng)規(guī)則開(kāi)始活動(dòng)規(guī)則活動(dòng)規(guī)則結(jié)束自定義函數(shù)。參考頁(yè)面前端規(guī)范

web前端開(kāi)發(fā)規(guī)范的意義

提高團(tuán)隊(duì)的協(xié)作能力

提高代碼的復(fù)用利用率

可以寫(xiě)出質(zhì)量更高,效率更好的代碼

為后期維護(hù)提供更好的支持

一、命名規(guī)則

命名使用英文語(yǔ)義化,禁止使用特殊字符,禁止使用拼音,禁止使用中英文混合

項(xiàng)目、目錄、html/css/js等文件命名全部采用小寫(xiě)方式, 以下劃線分隔。eg:my_project_name

html/css/js文件名一一對(duì)應(yīng)參考微信小程序.eg: login.html、login.css、login.js

class、圖片、視頻、音頻采用小寫(xiě)方式,以下劃線或中劃線分隔;eg:btn-play或btn_play

id可采用駝峰命名;eg:play或playGame

變量名采用小寫(xiě)方式, 以下劃線分隔;應(yīng)為名詞,eg: product,product_detail

常量采用全大寫(xiě)方式, 以下劃線分隔;eg:MAX_COUNT

函數(shù)名采用駝峰命名,以動(dòng)詞開(kāi)始。 getName(), 返回類型是布爾類型,一般以is開(kāi)頭,eg: isEnable();

變量和函數(shù)命名,不要擔(dān)心長(zhǎng)度,一定要語(yǔ)義化合乎邏輯。eg: saveImageToPhotosAlbum()

變量和函數(shù)名不能以數(shù)字開(kāi)始,不能使用保留字;jQuery對(duì)象以"$"符號(hào)開(kāi)頭,私有變量以"_"開(kāi)頭。

二、注釋

頁(yè)面頭部需要添加制作時(shí)間等信息。

    
    頁(yè)面名稱
     

功能模塊,請(qǐng)?jiān)谀K之間加入注釋,中英文不做要求:

... 
 

活動(dòng)規(guī)則
{{index+1}}
{{item}}
...
/* rules start*/
.rules-wrapper{...}
.rules-title{...}
.rules-list{...}
.rules-item{...}
.rules-num{...}
.rules-text{...}
/* rules end*/

自定義函數(shù)。請(qǐng)注明函數(shù)的調(diào)用方式,包括函數(shù)的用途、參數(shù)類型等。

/**
* JQ公告滾動(dòng) 封裝函數(shù)
* 參數(shù)說(shuō)明
* @obj : 動(dòng)畫(huà)的節(jié)點(diǎn),本例中是ul
* @top : 動(dòng)畫(huà)的高度,本例中是-35px;注意向上滾動(dòng)是負(fù)數(shù)
* @time : 動(dòng)畫(huà)的速度,即完成動(dòng)畫(huà)所用時(shí)間,本例中是500毫秒,即marginTop從0到-35px耗時(shí)500毫秒
* function : 回調(diào)函數(shù),每次動(dòng)畫(huà)完成,marginTop歸零,并把此時(shí)第一條信息添加到列表最后;
* 
*/
function noticeUp(obj,top,time) {
    $(obj).animate({
        marginTop: top
    }, time, function () {
        $(this).css({marginTop: "0"}).find(":first").appendTo(this);
    })
}
$(function () {
    // 調(diào)用 公告滾動(dòng)函數(shù)
    setInterval("noticeUp(".notice ul","-35px",500)", 2000);

});
三、HTML規(guī)范 1、頁(yè)面頭部

文檔類型統(tǒng)一使用html5的doctype:

lang屬性統(tǒng)一使用en,特殊場(chǎng)景特殊處理

字符編碼統(tǒng)一指定為"UTF-8"

頁(yè)面標(biāo)題(Title): 頁(yè)面名稱-產(chǎn)品中文全稱-官方網(wǎng)站-騰訊游戲-產(chǎn)品slogan,28個(gè)漢字以內(nèi)

頁(yè)面關(guān)鍵字(Keywords): Keywords為產(chǎn)品名、專題名、專題相關(guān)名詞,之間用英文半角逗號(hào)隔開(kāi)

頁(yè)面描述(Description) :不超過(guò)150個(gè)字符,描述內(nèi)容要和頁(yè)面內(nèi)容相關(guān)。

IE兼容模式

移動(dòng)端禁止縮放

PC端頭部示范:




    
    
    抓金角銀角大王每周末放送裝備 - 地下城與勇士官方網(wǎng)站 - 騰訊游戲
    
    
    



移動(dòng)端頭部示范:

 


    
    
    頁(yè)面名稱-產(chǎn)品中文全稱-官方網(wǎng)站-騰訊游戲-產(chǎn)品slogan
    
    
    
    
    
    
    
    
    
    
    
    
    









2、HTML標(biāo)簽

標(biāo)簽必須合法且閉合、嵌套正確,標(biāo)簽名需小寫(xiě),不要使用HTML5已經(jīng)廢棄的標(biāo)簽。eg:b、 em

自定義標(biāo)簽需要符合語(yǔ)義化,必須小寫(xiě)

標(biāo)簽的自定義屬性以data-開(kāi)頭,后面跟小寫(xiě)單詞,多單詞使用下劃線連接如:

縮進(jìn)使用Tab鍵不要使用空格鍵,webstorm中使用快捷鍵command+option+L(Ctrl+Alt+L)對(duì)齊

引入CSS 和 JavaScript 文件時(shí)一般不需要指定 type 屬性,因?yàn)?text/css 和 text/javascript 分別是它們的默認(rèn)值。css放在上面head中,JavaScript放在body下面緊臨

標(biāo)簽中屬性必須添加雙引號(hào)(非單引號(hào)),應(yīng)該按照特定的順序出現(xiàn)以保證易讀性;屬性順序

class
id
name
data-*
src, for, type, href, value , max-length, max, min, pattern
placeholder, title, alt
aria-*, role
required, readonly, disabled
class是為高可復(fù)用組件設(shè)計(jì)的,所以應(yīng)處在第一位;
id更加具體且應(yīng)該盡量少使用,所以將它放在第二位。

boolean屬性指不需要聲明取值的屬性,XHTML需要每個(gè)屬性聲明取值,但是HTML5并不需要;boolean屬性的存在表示取值為true,不存在則表示取值為false。

在編寫(xiě)HTML代碼時(shí),需要盡量避免多余的父節(jié)點(diǎn);很多時(shí)候,需要通過(guò)迭代和重構(gòu)來(lái)使HTML變得更少。刪除無(wú)意義的空標(biāo)簽,不要用標(biāo)簽名來(lái)設(shè)置樣式

三、CSS規(guī)范 1、CSS引入方式

一般情況使用外部樣式表:統(tǒng)一使用link標(biāo)簽,少用@import(原生import有加載性能問(wèn)題),sass、less、vue.js等文件使用import命令除外(因?yàn)樽罱K前端構(gòu)建工具會(huì)將引入文件編譯成一個(gè)css文件)。

個(gè)別情況使用內(nèi)部樣式表:頁(yè)面非常簡(jiǎn)單且樣式非常少的多帶帶頁(yè)面,如:純圖片海報(bào)頁(yè)面,純文字協(xié)議頁(yè)面

特殊情況才使用行內(nèi)樣式:如:js動(dòng)態(tài)獲取滾動(dòng)高度:

style="height:{{scroll_height}}px;"

2、CSS代碼風(fēng)格

css頭部統(tǒng)一加上@charset聲明,如下: @charset "utf-8";

禁止使用ID選擇器來(lái)定義元素樣式

禁止使用層級(jí)過(guò)深的選擇器,最多3級(jí)。eg: ul.pro_list > li > p

除非是樣式reset需要,禁止對(duì)純?cè)剡x擇器設(shè)置特定樣式,避免樣式污染

PC端和移動(dòng)端通用reset示例

body,html{width:100%;min-height:100%;/*移動(dòng)端*/-webkit-user-select:none;user-select:none/*
禁止選中文本(如無(wú)文本選中需求,此為必選項(xiàng)) */}
body{background-color:#fff;color:#333;font-size:16px;font-family:PingFangSC-Regular}
a,body,button,dd,div,dl,dt,h1,h2,h3,h4,h5,h6,img,input,li,ol,p,select,table,td,textarea,th,tr,ul{box-sizing:border-box;margin:0;padding:0;border:0}
button,input,select,textarea{outline:0;font-size:100%}
h1,h2,h3,h4,h5,h6{font-size:100%} 
li,ol,ul{list-style:none}
a{cursor:pointer} 
a,a:hover{text-decoration:none}
::-webkit-input-placeholder{color:#B0B0B0}
:-moz-placeholder{color:#B0B0B0}
::-moz-placeholder{color:#B0B0B0}
:-ms-input-placeholder{color:#B0B0B0}

媒體查詢順序由大到小

@media only screen and (max-width: 1080px), only screen and (max-device-width:1080px) {} 
@media only screen and (max-width: 960px), only screen and (max-device-width:960px) { } 

縮進(jìn) 使用soft tab(4個(gè)空格)

分號(hào) 每個(gè)屬性聲明末尾都要加分號(hào)。

引號(hào) 最外層統(tǒng)一使用雙引號(hào);url的內(nèi)容要用引號(hào);屬性選擇器中的屬性值需要引號(hào)。

空格

以下幾種情況不需要空格:

屬性名后
多個(gè)規(guī)則的分隔符","前
!important "!"后
屬性值中"("后和")"前
行末不要有多余的空格

以下幾種情況需要空格:

屬性值前
選擇器">", "+", "~"前后
"{"前
!important "!"前
@else 前后
屬性值中的","后
注釋"/*"后和"*/"前

CSS屬性的聲明順序與性能無(wú)關(guān),但是為了易于閱讀統(tǒng)一規(guī)范 按如下順序

.declaration-order {
    /* 定位 */
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 100;
    float: right;
    /* 盒模型 */
    display: block;
    width: 100px;
    height: 100px;
    /* 外觀 */
    border: 1px solid #e5e5e5;
    border-radius: 3px;
    background-color: #f5f5f5;
    /* 排版 */
    color: #333;
    text-align: center;
    font: normal 13px "Helvetica Neue", sans-serif;
    line-height: 1.5;
    /*透明度*/
    opacity: 1;
}

采用flex布局

項(xiàng)目上線前先添加兼容性前綴 Autoprefixer,然后壓縮代碼

2、CSS框架

阿里圖標(biāo)庫(kù)

css3 動(dòng)畫(huà)庫(kù)

Sass和Compass

四、Javascript規(guī)范 1、Javascript引入方式

一般情況使用外部js:統(tǒng)一使用

優(yōu)點(diǎn):
1.頁(yè)面代碼跟js代碼實(shí)現(xiàn)有效分離,降低耦合度
2.便于代碼的維護(hù)和擴(kuò)展
3.有利于代碼的復(fù)用

內(nèi)部js: 在直接在頁(yè)面的標(biāo)簽內(nèi)寫(xiě)js代碼,vue項(xiàng)目多用此方式

優(yōu)點(diǎn):內(nèi)部js代碼較為集中,與頁(yè)面結(jié)構(gòu)的實(shí)現(xiàn)代碼耦合度較低,比較便于維護(hù)
缺點(diǎn):js代碼僅限于當(dāng)前頁(yè)面的使用,代碼無(wú)法被多個(gè)頁(yè)面重復(fù)使用,導(dǎo)致代碼冗余度較高

行內(nèi)js: 直接嵌套在html的語(yǔ)句

開(kāi)發(fā)中不推薦這種方式
1.因?yàn)檫@種方式跟頁(yè)面結(jié)構(gòu)代碼耦合性太強(qiáng)了,后期維護(hù)很不方便,
2.而且這種方式在開(kāi)發(fā)過(guò)程中會(huì)導(dǎo)致產(chǎn)生很多的冗余代碼

2、Javascript代碼編寫(xiě)

目前只在使用了webpack等打包工具的時(shí)候才能用ES6語(yǔ)法,所以一般項(xiàng)目還是采用ES5。

一條語(yǔ)句通常以分號(hào)作為結(jié)束符。

變量必須先聲明再使用,即在每個(gè)作用域開(kāi)始前聲明這些變量。

函數(shù)聲明使用表達(dá)式方式

// bad
  const fn= function () {
  };
// good
  function fn() {
  }

除了三目運(yùn)算,if,else等禁止簡(jiǎn)寫(xiě)

 console.log(name);
 // 不推薦的書(shū)寫(xiě)
 if (true)
     alert(name);
 console.log(name);
 // 不推薦的書(shū)寫(xiě)
 if (true)
 alert(name);
 console.log(name)

 // 正確的書(shū)寫(xiě)
 if (true) {
     alert(name);
 }

使用三元運(yùn)算符,但不要濫用

(type==1?(agagin==1?"再售":"已售"):"未售")
 // 再多就不要用三元運(yùn)算符!

3、Javascript框架以及插件

必須掌握jQuery和Vue

工作中jQuery一般用在維護(hù)老項(xiàng)目,新項(xiàng)目一般都采用Vue。其他框架稍作了解,遇到了去查文檔。(業(yè)余時(shí)間可以自學(xué)angular和React以及你喜歡的框架)

移動(dòng)端:Mint UI

PC端官網(wǎng)、商城: Element

PC端后臺(tái)管理系統(tǒng):layui或者 iView

輪播圖:swiper

滾動(dòng)插件:iScroll 或 better-scroll

響應(yīng)式官網(wǎng): 盡量使用媒體查詢自定義樣式,不推薦使用bootstrap(因?yàn)槲也幌矚g記那一堆類名^_^)。

將常用的功能封裝在util.js中,大家共同完善;方便以后使用。

參考
Code Guide by @AlloyTeam
頁(yè)面前端規(guī)范

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/53691.html

相關(guān)文章

  • 前端開(kāi)發(fā)者手冊(cè)2019

    摘要:年,和前端開(kāi)發(fā)者與應(yīng)用程序前端開(kāi)發(fā)者之間產(chǎn)生了巨大的分歧。開(kāi)發(fā)最常見(jiàn)的解決方案有手機(jī)和平板的原生應(yīng)用程序桌面應(yīng)用程序桌面應(yīng)用程序原生技術(shù)最后,前端開(kāi)發(fā)者可以從瀏覽器開(kāi)發(fā)中學(xué)習(xí)到,編寫(xiě)代碼不需要考慮瀏覽器引擎的限制。 前端開(kāi)發(fā)者手冊(cè)2019 Cody Lindley 編著 原文地址 本手冊(cè)由Frontend Masters贊助,通過(guò)深入現(xiàn)代化的前端工程課程來(lái)提高你的技能。 下載:PDF ...

    church 評(píng)論0 收藏0
  • 前端開(kāi)發(fā)者手冊(cè)2019

    摘要:年,和前端開(kāi)發(fā)者與應(yīng)用程序前端開(kāi)發(fā)者之間產(chǎn)生了巨大的分歧。開(kāi)發(fā)最常見(jiàn)的解決方案有手機(jī)和平板的原生應(yīng)用程序桌面應(yīng)用程序桌面應(yīng)用程序原生技術(shù)最后,前端開(kāi)發(fā)者可以從瀏覽器開(kāi)發(fā)中學(xué)習(xí)到,編寫(xiě)代碼不需要考慮瀏覽器引擎的限制。 前端開(kāi)發(fā)者手冊(cè)2019 Cody Lindley 編著 原文地址 本手冊(cè)由Frontend Masters贊助,通過(guò)深入現(xiàn)代化的前端工程課程來(lái)提高你的技能。 下載:PDF ...

    xiao7cn 評(píng)論0 收藏0
  • 前端開(kāi)發(fā)者手冊(cè)2019

    摘要:年,和前端開(kāi)發(fā)者與應(yīng)用程序前端開(kāi)發(fā)者之間產(chǎn)生了巨大的分歧。開(kāi)發(fā)最常見(jiàn)的解決方案有手機(jī)和平板的原生應(yīng)用程序桌面應(yīng)用程序桌面應(yīng)用程序原生技術(shù)最后,前端開(kāi)發(fā)者可以從瀏覽器開(kāi)發(fā)中學(xué)習(xí)到,編寫(xiě)代碼不需要考慮瀏覽器引擎的限制。 前端開(kāi)發(fā)者手冊(cè)2019 Cody Lindley 編著 原文地址 本手冊(cè)由Frontend Masters贊助,通過(guò)深入現(xiàn)代化的前端工程課程來(lái)提高你的技能。 下載:PDF ...

    鄒立鵬 評(píng)論0 收藏0
  • 前端資源系列(4)-前端學(xué)習(xí)資源分享&前端面試資源匯總

    摘要:特意對(duì)前端學(xué)習(xí)資源做一個(gè)匯總,方便自己學(xué)習(xí)查閱參考,和好友們共同進(jìn)步。 特意對(duì)前端學(xué)習(xí)資源做一個(gè)匯總,方便自己學(xué)習(xí)查閱參考,和好友們共同進(jìn)步。 本以為自己收藏的站點(diǎn)多,可以很快搞定,沒(méi)想到一入?yún)R總深似海。還有很多不足&遺漏的地方,歡迎補(bǔ)充。有錯(cuò)誤的地方,還請(qǐng)斧正... 托管: welcome to git,歡迎交流,感謝star 有好友反應(yīng)和斧正,會(huì)及時(shí)更新,平時(shí)業(yè)務(wù)工作時(shí)也會(huì)不定期更...

    princekin 評(píng)論0 收藏0
  • 構(gòu)建前端項(xiàng)目

    摘要:解決思路服務(wù)器端渲染服務(wù)器端和前端公用同一個(gè)應(yīng)用,然后通過(guò)構(gòu)建工具及配置,確定哪些組件需要再服務(wù)器端渲染,那些組件需要再客戶端渲染。服務(wù)器端渲染,由框架與構(gòu)建工具配合,并依據(jù)一定的項(xiàng)目結(jié)構(gòu)和編碼方式,共同運(yùn)行。 分離 為什么需要 前后端分離、web服務(wù)器與static服務(wù)器分離: 前端與后端耦合 (需求) 自動(dòng)化、工程化的構(gòu)建前端的代碼 (基礎(chǔ)條件) 模塊化、組件化,項(xiàng)目共享代碼 (...

    mindwind 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<