<ul id="qxxfc"><fieldset id="qxxfc"><tr id="qxxfc"></tr></fieldset></ul>


      一、命名規(guī)則(英文-直譯)

      1、文件命名

      文件夾/文件的命名統(tǒng)一用小寫

      保證項(xiàng)目有良好的可移植性,可跨平臺(tái)?

      相關(guān)參考(http://www.ruanyifeng.com/blog/2017/02/filename-should-be-lowercase.html)

      2、文件引用路徑

      因?yàn)槲募y(tǒng)一小寫,引用也需要注意大小寫問題

      3、js變量

      3.1 變量

      命名方式:小駝峰

      命名規(guī)范:前綴名詞

      命名建議:語(yǔ)義化

      案例
      //?友好
      let?maxCount?=?10;?
      let?tableTitle?=?'LoginTable';

      //?不友好
      let?setCount?=?10;
      let?getTitle?=?'LoginTable';
      3.2 常量

      命名方式:全部大寫

      命名規(guī)范:使用大寫字母和下劃線來組合命名,下劃線用以分割單詞

      命名建議:語(yǔ)義化

      案例
      const?MAX_COUNT?=?10;
      const?URL?=?'http://www.foreverz.com';
      3.3 函數(shù)

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

      命名規(guī)范:前綴應(yīng)當(dāng)為動(dòng)詞。

      命名建議:語(yǔ)義化

      可以參考如下的動(dòng)作



      //?是否可閱讀
      function?canRead():?boolean?{
      ??return?true;
      }
      //?獲取名稱
      function?getName():?string?{
      ??return?this.name;
      }
      3.4 類、構(gòu)造函數(shù)

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

      命名規(guī)范:前綴為名稱。

      命名建議:語(yǔ)義化

      案例
      class?Person?{
      ??public?name:?string;
      ??constructor(name)?{
      ????this.name?=?name;
      ??}
      }
      const?person?=?new?Person('mevyn');
      公共屬性和方法:跟變量和函數(shù)的命名一樣。

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

      案例
      class?Person?{
      ??private?_name:?string;
      ??constructor()?{?}
      ??//?公共方法
      ??getName()?{
      ????return?this._name;
      ??}
      ??//?公共方法
      ??setName(name)?{
      ????this._name?=?name;
      ??}
      }
      const?person?=?new?Person();
      person.setName('mervyn');
      person.getName();?//?->mervyn
      3.5 css(class、id)命名規(guī)則BEM

      我們還是使用大團(tuán)隊(duì)比較常用的BEM模式


      (1)class命名使用BEM其實(shí)是塊(block)、元素(element)、修飾符(modifier)的縮寫,利用不同的區(qū)塊,功能以及樣式來給元素命名。這三個(gè)部分使用__與--連接(這里用兩個(gè)而不是一個(gè)是為了留下用于塊兒的命名)。

      命名約定的模式如下:
      .block{}
      .block__element{}
      .block--modifier{}

      block?代表了更高級(jí)別的抽象或組件
      block__element?代表?block?的后代,用于形成一個(gè)完整的?block?的整體
      block--modifier代表?block?的不同狀態(tài)或不同版本
      (2)id一般參與樣式,命名的話使用駝峰,如果是給js調(diào)用鉤子就需要設(shè)置為js_xxxx的方式

      二、注釋

      1.單行注釋
      //?這個(gè)函數(shù)的執(zhí)行條件,執(zhí)行結(jié)果大概說明
      dosomthing()
      2.多行注釋
      /*
      *?xxxx??描述較多的時(shí)候可以使用多行注釋
      *?xxxx
      */
      dosomthing();
      3.函數(shù)(方法)注釋 參考jsdoc






      三、組件

      每個(gè) Vue 組件的代碼建議不要超出 200 行,如果超出建議拆分組件

      組件一般情況下是可以拆成基礎(chǔ)/ui部分和業(yè)務(wù)部分,基礎(chǔ)組件一般是承載呈現(xiàn),基礎(chǔ)功能,不和業(yè)務(wù)耦合部分。

      業(yè)務(wù)組件一般包含業(yè)務(wù)功能業(yè)務(wù)特殊數(shù)據(jù)等等

      1 UI組件/基礎(chǔ)組件

      開發(fā)的時(shí)候注意可拓展性,支持?jǐn)?shù)據(jù)傳參進(jìn)行渲染,支持插槽slot

      設(shè)置有mixin,mixin中放了基礎(chǔ)信息和方法

      2 容器組件

      和當(dāng)前業(yè)務(wù)耦合性比較高,由多個(gè)基礎(chǔ)組件組成,可承載當(dāng)前頁(yè)的業(yè)務(wù)接口請(qǐng)求和數(shù)據(jù)(vuex)

      3 組件存放位置

      (1)ui組件存放在src/components/ 中

      包含xxx.vue和 xxmixin.js 和 readme.md

      xxx.vue 表示ui部分

      xxmixin.js 表示js部分

      readme.md 中描述組件的基本信息




      如下圖

      引用組件的時(shí)候 直接引入 mixinElementFilter.js 即可。在引用組件的頁(yè)面可以對(duì)mixin里面的方法進(jìn)行重構(gòu)







      (2)業(yè)務(wù)組件就放在業(yè)務(wù)模塊部分即可

      4 組件通訊

      避免數(shù)據(jù)的分發(fā)源混亂,不建議使用eventBus控制數(shù)據(jù),應(yīng)使用props來和$emit來數(shù)據(jù)分發(fā)和傳送

      同級(jí)組件的通訊一般會(huì)有一個(gè)中間容器組件作為橋梁

      容器組件作為數(shù)據(jù)的接受和分發(fā)點(diǎn)

      5 組件的掛在和銷毀

      (1)通過v-if控制組件的掛在和銷毀
      <testcomponent?v-if='componentActive'>?</testcomponent>
      (2)通過is控制組件的掛在和銷毀
      <component?is='componentName'>?</component>
      6 跨項(xiàng)目組件共用

      公共組件存放位置中 定時(shí)抽取共用次數(shù)多的組件 將他放在npm.kuaizi.co中,供下載引用

      四、codeReview

      1 規(guī)則

      所有影響到以往流程的功能需求更改發(fā)版前都需要codeReview

      2 執(zhí)行者

      初級(jí)程序員可由中級(jí)程序員的執(zhí)行codeReview

      中級(jí)程序員可由高級(jí)程序員執(zhí)行codeReview

      以此類推

      3 反饋

      每次codereView都需要有反饋,要對(duì)本次codeReview負(fù)責(zé)

      反饋內(nèi)容基本如

      功能:本次主要是修改了什么功能或者bug

      模塊:本次發(fā)版影響的模塊

      代碼問題:codereview過程中發(fā)現(xiàn)的代碼問題,比如代碼性能,寫法,代碼風(fēng)格等等

      業(yè)務(wù)問題:比如發(fā)現(xiàn)了某某影響到其他模塊的邏輯問題,如果沒有發(fā)現(xiàn)就寫。無(wú)?

      五、git規(guī)范

      1 分支

      命名

      master: master 分支就叫master 分支,線上環(huán)境正在使用的,每一次更新master都需要打tag

      test: test分支就供測(cè)試環(huán)境使用的分支

      develop: develop 分支就叫develop 分支

      feature: feature 分支 咱們暫時(shí)可以按 feature/name/version
      這種命名規(guī)范來,后面有更好的命名規(guī)范咱們?cè)俑?。version 表示

      當(dāng)前迭代的版本號(hào),name 表示當(dāng)前迭代的名稱

      hotfix: hotfix 分支的命名我們暫時(shí)可以按 hotfix/name/version
      這種來進(jìn)行命名,verison表示這次修復(fù)的版本的版本號(hào),name表示本次熱修復(fù)的內(nèi)容標(biāo)題

      斜杠 的方式 在source-tree中有歸類的作用

      2 提交模版 kz-commit

      在完善中,會(huì)繼承自動(dòng)檢測(cè)代碼,可選輸入發(fā)版提交版本基本信息等等

      六、分享會(huì)

      每?jī)芍苤辽賵?zhí)行一次,分享工作,生活各方面都可以




      原文發(fā)布時(shí)間為:2018-09-27

      本文作者:spademan

      本文來自云棲社區(qū)合作伙伴“前端大學(xué)
      <https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzIzNTU2ODM4Mw%3D%3D%26amp%3Bmid%3D2247487209%26amp%3Bidx%3D1%26amp%3Bsn%3D7969eb3687f77c65bb865009a580577f%26amp%3Bchksm%3De8e46379df93ea6f3d6593b0e3e690c449743c19092f467cb4f64f56d1f7507de6e6054447ee%26amp%3Bscene%3D0%23rd>
      ”,了解相關(guān)信息可以關(guān)注“前端大學(xué)
      <https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzIzNTU2ODM4Mw%3D%3D%26amp%3Bmid%3D2247487209%26amp%3Bidx%3D1%26amp%3Bsn%3D7969eb3687f77c65bb865009a580577f%26amp%3Bchksm%3De8e46379df93ea6f3d6593b0e3e690c449743c19092f467cb4f64f56d1f7507de6e6054447ee%26amp%3Bscene%3D0%23rd>


      友情鏈接
      ioDraw流程圖
      API參考文檔
      OK工具箱
      云服務(wù)器優(yōu)惠
      阿里云優(yōu)惠券
      騰訊云優(yōu)惠券
      京東云優(yōu)惠券
      站點(diǎn)信息
      問題反饋
      郵箱:[email protected]
      QQ群:637538335
      關(guān)注微信

        <ul id="qxxfc"><fieldset id="qxxfc"><tr id="qxxfc"></tr></fieldset></ul>
          老熟妇高潮一区二区高清视频 | 成人性生交大片免费看A片免费 | 手机看片一级片 | 免费开心青涩网 | 国产免费一级视频 | 黄片在线免费播放 | 爱福利视频一区 | 女生被艹在线观看 | 韩国一级无码 | 影音先锋 一区二区三区 |