<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                >來自[spademan](https://segmentfault.com/a/1190000016445088) ## 一、命名規則(英文-直譯) >[info]1、文件命名 文件夾/文件的命名統一用小寫。 保證項目有良好的可移植性,可跨平臺。相關參考:[《為什么文件名要小寫?》](https://mp.weixin.qq.com/s?__biz=MzAwNDcyNjI3OA==&mid=2650839826&idx=2&sn=32374331c2c4af306cc838b33b87dc64&chksm=80d3b07bb7a4396d8ec40f9f205b8372048c6d7c800154ff4f5714afac58a81b42affaff83d8&scene=21#wechat_redirect)。 >[info]2、文件引用路徑 因為文件命名統一小寫,引用也需要注意大小寫問題。 >[info]3、js變量 *3.1 變量* * 命名方式:小駝峰 * 命名規范:前綴名詞 * 命名建議:語義化 案例: ~~~ // 友好 let maxCount = 10; let tableTitle = 'LoginTable'; // 不友好 let setCount = 10; let getTitle = 'LoginTable'; ~~~ *3.2 常量* * 命名方式:全部大寫 * 命名規范:使用大寫字母和下劃線來組合命名,下劃線用以分割單詞 * 命名建議:語義化 案例: ~~~ const MAX_COUNT = 10; const URL = 'http://www.foreverz.com'; ~~~ *3.3 函數* * 命名方式:小駝峰式命名法。 * 命名規范:前綴應當為動詞。 * 命名建議:語義化 可以參考如下的動作: | 動詞 | 含義 | 返回值 | |---|---|---| | can | 判斷是否可執行某個動作(權限) | 函數返回一個布爾值。true:可執行;false:不可執行 | | has | 判斷是否含有某個值 | 函數返回一個布爾值。true:含有此值;false:不含有此值 | | is | 判斷是否為某個值 | 函數返回一個布爾值。true:為某個值;false:不為某個值 | | get | 獲取某個值 | 函數返回一個非布爾值 | | set | 設置某個值 | 無返回值、返回是否設置成功或者返回鏈式對象 | | load | 加載某些數據 | 無返回值或者返回是否加載完成的結果 | 案例: ~~~ // 是否可閱讀 function canRead(): boolean { return true; } // 獲取名稱 function getName(): string { return this.name; } ~~~ *3.4 類、構造函數* * 命名方式:大駝峰式命名法,首字母大寫 * 命名規范:前綴為名稱。 * 命名建議:語義化 案例: ~~~ class Person { public name: string; constructor(name) { this.name = name; } } const person = new Person('mevyn'); ~~~ 公共屬性和方法:跟變量和函數的命名一樣。 私有屬性和方法:前綴為 _(下劃線),后面跟公共屬性和方法一樣的命名方式。 案例: ~~~ 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)命名規則BEM* 我們還是使用大團隊比較常用的BEM模式。 (1) `class`命名使用BEM其實是塊(` block`)、元素( `element`)、修飾符( `modifier`)的縮寫,利用不同的區塊,功能以及樣式來給元素命名。這三個部分使用__與--連接(這里用兩個而不是一個是為了留下用于塊兒的命名)。 命名約定的模式如下: ~~~ .block{} .block__element{} .block--modifier{} ~~~ * `block` 代表了更高級別的抽象或組件。 * `block__element` 代表 `block` 的后代,用于形成一個完整的 `block` 的整體 * `block--modifier`代表 `block` 的不同狀態或不同版本 (2) `id` 一般參與樣式,命名的話使用駝峰,如果是給`js`調用鉤子就需要設置為 `js_xxxx` 的方式。 ## 二、注釋 >[info]1、單行注釋 ~~~ // 這個函數的執行條件,執行結果大概說明 dosomthing() ~~~ >{info}2、多行注釋 ~~~ /* * xxxx 描述較多的時候可以使用多行注釋 * xxxx */ dosomthing(); ~~~ ## 3、函數(方法)注釋 | 注釋名 | 語法 | 含義 | 示例 | |---|---|---|---| | @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(‘測試’) | ## 三、組件 每個 Vue 組件的代碼建議不要超出 200 行,如果超出建議拆分組件。 組件一般情況下是可以拆成基礎/ui部分和業務部分,基礎組件一般是承載呈現,基礎功能,不和業務耦合部分。 業務組件一般包含業務功能業務特殊數據等等。 >[info]1、UI組件/基礎組件 開發的時候注意可拓展性,支持數據傳參進行渲染,支持插槽slot。 設置有mixin,mixin中放了基礎信息和方法。 >[info]2、容器組件 和當前業務耦合性比較高,由多個基礎組件組成,可承載當前頁的業務接口請求和數據(vuex)。 >[info]3、組件存放位置 (1)`ui`組件存放在 `src/components/` 中,包含 `xxx.vue`和 `xxmixin.js` 和 `readme.md`。 ~~~ xxx.vue 表示ui部分 xxmixin.js 表示js部分 readme.md 中描述組件的基本信息 ~~~ | 名詞 | 含義 | 案例 | |---|---|---| | @name | 組件名稱 | 篩選下拉框 | |@version| 版本 | `v1.0.0` | |@updateTime | 更新日期 | 2018.09.18 | |@describe | 使用場景描述 | 某某場景下| |@props | 參數 | [`data`] | |@author | 作者 | dd | 如下圖,引用組件的時候 直接引入 `mixinElementFilter.js` 即可。在引用組件的頁面可以對 `mixin` 里面的方法進行重構: ![](https://box.kancloud.cn/20581ab3b5081078fc59d2fc17b87e71_298x78.png) (2)業務組件就放在業務模塊部分即可。 >[info] 4、組件通訊 避免數據的分發源混亂,不建議使用 eventBus控制數據,應使用 props來和 $emit來數據分發和傳送。 同級組件的通訊一般會有一個中間容器組件作為橋梁。 容器組件作為數據的接受和分發點。 >[info]5、組件的掛在和銷毀 (1)通過`v-if`控制組件的掛在和銷毀 `<testcomponent v-if='componentActive'> </testcomponent>` (2)通過is控制組件的掛在和銷毀 `<component is='componentName'> </component>` >[info]6、跨項目組件共用 公共組件存放位置中 定時抽取共用次數多的組件 將他放在` npm.kuaizi.co`中,供下載引用。 ## 四、codeReview >[info]1、規則 所有影響到以往流程的功能需求更改發版前都需要 `codeReview`。 >[info]2、執行者 初級程序員可由中級程序員的執行 `codeReview`。 中級程序員可由高級程序員執行 `codeReview`。 以此類推。 >[info]3、反饋 每次`codereView`都需要有反饋,要對本次`codeReview`負責。 反饋內容基本如: >[success]功能:本次主要是修改了什么功能或者bug。模塊:本次發版影響的模塊。 代碼問題:codereview過程中發現的代碼問題,比如代碼性能,寫法,代碼風格等等。業務問題:比如發現了某某影響到其他模塊的邏輯問題,如果沒有發現就寫無。 ## 五、git規范 >[info]1、分支 命名: * `master`: `master` 分支就叫`master` 分支,線上環境正在使用的,每一次更新`master`都需要打`tag`。 * `test`: `test`分支就供測試環境使用的分支。 * `develop`: `develop` 分支就叫`develop` 分支。 * `feature`: `feature` 分支 咱們暫時可以按 `feature/name/version` 這種命名規范來,后面有更好的命名規范咱們再改。`version` 表示當前迭代的版本號,`name` 表示當前迭代的名稱。 * `hotfix`: `hotfix` 分支的命名我們暫時可以按 `hotfix/name/version` 這種來進行命名,`verison`表示這次修復的版本的版本號,`name`表示本次熱修復的內容標題。 斜杠的方式在`source-tree`中有歸類的作用。 >[info]2、提交模版 kz-commit 在完善中,會繼承自動檢測代碼,可選輸入發版提交版本基本信息等等。 ## 六、分享會 每兩周至少執行一次,分享工作,生活各方面都可以。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看