《Vue前端開發手冊》


序言

為了統一前端的技術棧問題,技術開發二部規定開發技術必須以Vue為主。

為了更好的規范公司的前端框架,現以我前端架構師為主,編寫以下開發規范,如有不當的地方,歡迎批評教育並慢慢改善該開發文檔,謝謝合作。

我們在做產品不只是實現功能,還要考慮到以后的優化升級,那么就需要一套標准的代碼規范,使得代碼易懂,養成代碼規范的習慣,有助於程序員自身的成長。那么我們現在就來談談,前端代碼的規范。

 

一、編碼規范

1、樣式文件命名說明

注:css處理程序統一使用stylus,並放在“src/common/stylus”目錄下

1重置樣式:reset.stylus

2基礎布局樣式:base.stylus

3公共樣式:public.stylus

4變量樣式:variable.stylus

5icon樣式:icon.stylus

6混合類型(函數樣式)mixin.stylus

 

2樣式規范化

1)連字符CSS選擇器命名規范

長名稱或詞組可以使用中橫線來為選擇器命名。 不建議使用“_”下划線來命名CSS選擇器,例:class=”page page-index”

(2)使用16進制表示顏色值,除非表示的是透明度例:#F62AB5

3)以下常用的css命名規則

 

page-hd、page-bd、page-ft、tit、cnt、desc、info、left-bar、search-bar

 

3文件目錄

1)存放其它圖片文件夾命名規范:imgaes

2)存放廣告圖的文件夾banner

3)文件名應該全部小寫,多個單詞以下划線“_”分開

4JS文件:駝峰命名方式,首字母小寫,例:getUserInfo.js

5)確保文檔或模板中只包含html,把用到的樣式都寫到樣式表文件中,把腳本都寫到js文件中采用外鏈引入形式,使頁面的結構與行為分離

 

4、 Javascript

1)因vue腳手架有自動編譯的功能,為了代碼的整潔,每行js代碼不必“;”作為結束,但需遵循一個語句一行的編碼方式;

5命名規范

1件命名:以英文命名,后綴為.js(共用)common.js,其他命名可根據模塊需求命名

2變量命名:駝峰式命名,原生JavaScript變量要求是純英文字母, 首字母須小寫,變量集中聲明, 避免全局變量
3類命名:首字母大寫, 駝峰式命名egStudentInfoUserInfoProductInfo

4函數命名首字母小寫駝峰式命名eggetUserInfo

5命名語義化,盡可能利用英文單詞或其縮寫

6常量:必須采用全大寫的命名,且單詞以_分割,常量通常用於ajax請求url,和一些不會改變的數據

命名規范:使用大寫字母和下划線來組合命名,下划線用以分割單詞。

例:const MAX_LENGTH = 20;const URL = 'http://www.star.com'

7變量:必須采用小駝峰式命名法例:let maxCount = 10;

6項目命名

全部采用小寫方式, 以下划線分隔。例:my_project_name

 

7、函數

命名方法:小駝峰式命名法

命名規范:前綴應當為動詞

命名建議:可使用常見動詞約定

動詞

含義

返回值

can

判斷是否可執行某個動作(權限)

函數返回一個布爾值。true:可執行;false:不可執行

has

判斷是否含有某個值

函數返回一個布爾值。true:含有此值;false:不含有此值

is

判斷是否為某個值

函數返回一個布爾值。true:為某個值;false:不為某個值

get

獲取某個值

函數返回一個非布爾值

set

設置某個值

無返回值、返回是否設置成功或者返回鏈式對象

load

加載某些數據

無返回值或者返回是否加載完成的結果

 

8、類 & 構造函數

命名方法:大駝峰式命名法,首字母大寫例:Person

命名規范:前綴為名稱。

示例:

class Person {

  public name: string;

  constructor(name) {

    this.name = name;

  }

}

const person = new Person('mevyn');

9、類的成員

類的成員包含:

公共屬性和方法:跟變量和函數的命名一樣。

私有屬性和方法:前綴為_(下划線),后面跟公共屬性和方法一樣的命名方式。

示例:

class Person {

  private _name: string;

  constructor() { }

  // 公共方法

  getName() {

    return this._name;

  }

  // 公共方法

  setName(name) {

    this._name = name;

  }

}

const person = new Person();

person.setName('star');

person.getName(); // ->'star'

10注釋規范

js 支持三種不同類型的注釋:行內注釋、單行注釋和多行注釋:

  1. 行內注釋
  • 說明:行內注釋以兩個斜線開始,以行尾結束。
  • 語法:code // 這是行內注釋
  • 使用方式://(雙斜線)與代碼之間保留一個空格,並且//(雙斜線)與注釋文字之間保留一個空格。

命名建議:

// 用來顯示一個解釋的評論
// -> 用來顯示表達式的結果,
// >用來顯示 console 的輸出結果,

示例:

function test() { // 測試函數

  console.log('Hello World!'); // >Hello World!

  return 3 + 2; // ->5

}

  1. 單行注釋
  • 說明:單行注釋以兩個斜線開始,以行尾結束。
  • 語法:// 這是單行注釋
  • 使用方式:單獨一行://(雙斜線)與注釋文字之間保留一個空格。

示例:

// 調用了一個函數;1)單獨在一行setTitle();

  1. 多行注釋
  • 說明:以 /* 開頭, */ 結尾
  • 語法:/* 注釋說明 */
  • 使用方法:若開始/和結束/都在一行,推薦采用單行注釋。若至少三行注釋時,第一行為/,最后行為/,其他行以開始,並且注釋文字與保留一個空格。

示例:

/** 代碼執行到這里后會調用setTitle()函數* setTitle():設置title的值

*/

setTitle();

  1. 函數(方法)注釋

說明:函數(方法)注釋也是多行注釋的一種,但是包含了特殊的注釋要求,參照JSDoc

語法:

/** * 函數說明 * @關鍵字

*/

常用注釋關鍵字:(只列出一部分,並不是全部)

注釋名

語法

含義

示例

@param

@param 參數名 {參數類型} 描述信息

描述參數的信息

@param name {String} 傳入名稱

@return

@return {返回類型} 描述信息

描述返回值的信息

@return {Boolean} true:可執行;false:不可執行

@author

@author 作者信息 [附屬信息:如郵箱、日期]

描述此函數作者的信息

@author 張三 2015/07/21

@version

@version XX.XX.XX

描述此函數的版本號

@version 1.0.3

@example

@example 示例代碼

演示函數的使用

@example setTitle(‘測試’)

/*** 合並Grid的行

* @param grid {Ext.Grid.Panel} 需要合並的Grid

* @param cols {Array} 需要合並列的Index(序號)數組;從0開始計數,序號也包含。

* @param isAllSome {Boolean} :是否2trcols必須完成一樣才能進行合並。true:完成一樣;false(默認):不完全一樣

* @return void

* @author polk6 2015/07/21

* @example

* _________________                             _________________

* |  年齡 |  姓名 |                             |  年齡 |  姓名 |

* -----------------      mergeCells(grid,[0])   -----------------

* |  18   |  張三 |              =>             |       |  張三 |

* -----------------                             -  18   ---------

* |  18   |  王五 |                             |       |  王五 |

* -----------------                             -----------------

*/

function mergeCells(grid: Ext.Grid.Panel, cols: Number[], isAllSome: boolean = false) {

  // Do Something

}

11、手機設計稿規范

設計稿的寬度一般情況下為寬度750px,在手機端頁面編寫的過程,將頁面的最大寬度設置為750px,最小寬度為375xp,寬度為100%;即min-width:375pxmax-width:750pxwidth100%;這樣一來的話寬度在375750之間是自適應的,當頁面小於375時出現水平滾動條,當頁面大於750時頁面居中布局

 

 

二、vue框架推薦

小程序:mpvue框架

H5游戲:vue

H5UI框架:vux

推廣類seo優化,如新聞,博客:nuxt.js

UIelement

APPweexFlutter

 

開發環境版本建議

技術

版本

查看命令

node

8.12.0

node-v

vue  

2.5.17

vue -V(大寫)

npm

6.4.1

npm -v

webpack

4.19.1

webpack -v

nuxt

2.00

/

Element-ui

2.47

/

 

   

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM