免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

開(kāi)放式代碼審查實(shí)踐:讓Code Review從形式化走向有效協(xié)作

開(kāi)放式代碼審查實(shí)踐:讓Code Review從形式化走向有效協(xié)作 兩個(gè)月前我翻了下團(tuán)隊(duì)在過(guò)去一年的代碼審查記錄看到一個(gè)讓我后背發(fā)涼的事實(shí)全年的 merge request 通過(guò)率 98%平均每條 MR 的評(píng)論數(shù)不到 2 條。這意味著我們掛在嘴邊的嚴(yán)格的 Code Review 流程真實(shí)運(yùn)行下來(lái)的效果幾乎等于零。更扎心的是我在幾個(gè)技術(shù)交流群里問(wèn)了一圈發(fā)現(xiàn)這種現(xiàn)象不是個(gè)別團(tuán)隊(duì)的問(wèn)題而是普遍現(xiàn)象。后來(lái)我花了整整兩個(gè)月從頭梳理審查流程、重構(gòu)工具鏈、調(diào)整團(tuán)隊(duì)協(xié)作方式最后沉淀出這套 open-code-review 的實(shí)踐方案。這里先把概念說(shuō)清楚open-code-review 不是一個(gè)現(xiàn)成的商業(yè)工具而是我在實(shí)際團(tuán)隊(duì)里整理出來(lái)的一套開(kāi)放式代碼審查實(shí)踐方案包含審查規(guī)則、流程設(shè)計(jì)、自動(dòng)化與 AI 輔助配置、以及團(tuán)隊(duì)協(xié)作約定。它核心的主張只有一句話代碼審查的本質(zhì)不是審批門禁而是以代碼為載體的信息同步和知識(shí)傳遞。想清楚這件事整個(gè)流程的搭建邏輯就完全不一樣了。這篇文章不是理論宣講是我把一套從形式化審查變成有效協(xié)作的完整過(guò)程記錄下來(lái)包括踩過(guò)的坑、改過(guò)的方案、以及最終穩(wěn)定運(yùn)行的配置希望對(duì)正在被 Code Review 折磨的團(tuán)隊(duì)有一點(diǎn)參考價(jià)值。1. 傳統(tǒng) Code Review 名存實(shí)亡的根因我們都在審但沒(méi)人真正在讀先別急著談工具和流程我把傳統(tǒng)審查方式失效的原因拆透。因?yàn)橹挥姓业讲≡詈竺孀龅姆桨覆挪粫?huì)又是換湯不換藥。1.1 通過(guò)率接近 100% 的審查流程本質(zhì)上就是零審查我拉了一下團(tuán)隊(duì)過(guò)去一年的數(shù)據(jù)總共合并了 1200 多個(gè) MR被拒絕過(guò)的不到 20 個(gè)而在這 20 個(gè)里大部分是 CI 失敗被系統(tǒng)攔截的不是被評(píng)審人打回的。平均每個(gè) MR 的評(píng)論數(shù)量不到 2 條這 2 條里還有一半是LGTMOK這種沒(méi)有任何信息量的回復(fù)。這種情況出現(xiàn)在大多數(shù)團(tuán)隊(duì)里原因其實(shí)特別簡(jiǎn)單評(píng)審人根本沒(méi)有足夠的時(shí)間去仔細(xì)讀代碼。一個(gè)典型的工作日里一名后端工程師同時(shí)掛著兩三個(gè)開(kāi)發(fā)任務(wù)還要響應(yīng)線上問(wèn)題、參加需求評(píng)審會(huì)留給他看 MR 的時(shí)間可能只有上午半小時(shí)。在這半小時(shí)里他要消化一個(gè)改動(dòng) 800 行的 MR——相當(dāng)于每分鐘要看 27 行代碼并發(fā)現(xiàn)問(wèn)題。你覺(jué)得他能看出什么問(wèn)題來(lái)大部分人的應(yīng)對(duì)策略就是瞄一眼 diff看看有沒(méi)有明顯的低級(jí)錯(cuò)誤然后點(diǎn)通過(guò)。所以我說(shuō)通過(guò)率 100% 的本質(zhì)是零審查不是說(shuō)大家不專業(yè)是流程設(shè)計(jì)有問(wèn)題。我們把一個(gè)需要深度思考的活動(dòng)壓縮到了一個(gè)不合理的時(shí)長(zhǎng)和顆粒度里結(jié)果自然就是走過(guò)場(chǎng)。1.2 門禁思維讓審查變成了對(duì)抗我觀察到一個(gè)更隱蔽的問(wèn)題很多團(tuán)隊(duì)把 Code Review 定位成質(zhì)量門禁通過(guò)才允許合入。這個(gè)定位一旦形成開(kāi)發(fā)和評(píng)審之間的關(guān)系就變成了審查者和被審查者溝通方式也會(huì)跟著變形。開(kāi)發(fā)這邊的心理是別給我挑刺趕緊過(guò)了我好合代碼評(píng)審那邊的心理是我得挑點(diǎn)問(wèn)題出來(lái)不然顯得我沒(méi)看。前一種心態(tài)讓開(kāi)發(fā)者不愿意發(fā)起討論寧可自己默默把代碼改成評(píng)審人可能喜歡的樣子也不愿意把真實(shí)的設(shè)計(jì)權(quán)衡講出來(lái)后一種心態(tài)讓評(píng)審人為了找問(wèn)題而找問(wèn)題于是評(píng)論的方向從怎么讓代碼更好變成了你這里不對(duì)。對(duì)抗關(guān)系的直接后果就是有價(jià)值的討論根本不會(huì)發(fā)生。我在一些知名開(kāi)源項(xiàng)目里看過(guò)非常高質(zhì)量的評(píng)審討論比如某些框架的 PR 里作者和維護(hù)者對(duì)一行代碼能來(lái)回討論幾十條評(píng)論每次討論都能把方案的邊界、權(quán)衡、演進(jìn)方向聊透。這種討論之所以會(huì)發(fā)生是因?yàn)殡p方都沒(méi)有把對(duì)方當(dāng)敵人而是當(dāng)成一個(gè)共同把代碼做對(duì)的協(xié)作者。開(kāi)源社區(qū)天然具備這種開(kāi)放討論的氛圍而大多數(shù)公司的內(nèi)部審查流程反而不具備。1.3 信息同步才是審查真正該做的事后來(lái)我開(kāi)始琢磨一個(gè)本質(zhì)問(wèn)題Code Review 到底在解決什么問(wèn)題表面上看是發(fā)現(xiàn) bug、把關(guān)質(zhì)量但往深了說(shuō)是信息同步。改動(dòng)代碼的人腦子里裝著完整的上下文為什么這么改、為什么不那么改、這個(gè)方案和哪個(gè)歷史約束沖突過(guò)、哪里有坑。評(píng)審人如果不了解這些上下文就只能看表面反過(guò)來(lái)評(píng)審人的價(jià)值在于他提供了開(kāi)發(fā)者的盲區(qū)——那個(gè)你沒(méi)注意到的邊界條件、那條被你忽略的既有約定。舉個(gè)例子我見(jiàn)過(guò)一個(gè) MR開(kāi)發(fā)把一段查詢邏輯從同步改成了異步單看代碼沒(méi)有任何問(wèn)題但評(píng)審人知道調(diào)用鏈上游有一個(gè)超時(shí)時(shí)間很短的網(wǎng)關(guān)異步化之后數(shù)據(jù)返回來(lái)的時(shí)候連接早斷了。這種知識(shí)只有人知道機(jī)器查不出來(lái)如果評(píng)審只是一句沒(méi)問(wèn)題這個(gè) bug 上線后大概率要讓運(yùn)維背鍋。開(kāi)放式審查要做的就是把這個(gè)信息同步的過(guò)程從給結(jié)論變成聊上下文。結(jié)論是單向的、一次性的上下文是雙向的、可沉淀的。這也是后面所有設(shè)計(jì)的最底層邏輯讓審查變成討論而不是審判。2. 開(kāi)放式審查的核心設(shè)計(jì)讓代碼討論像開(kāi)源社區(qū)一樣發(fā)生對(duì) open-code-review 的整體理念有了概念之后下面聊聊我在實(shí)際操作中怎么把這個(gè)理念落到每天的工作流里。2.1 行內(nèi)評(píng)論把批評(píng)落到具體代碼行而不是籠統(tǒng)的感受第一個(gè)改變是從評(píng)論形式入手的。傳統(tǒng)審查里大家喜歡在 MR 底部寫總結(jié)性意見(jiàn)比如這次改動(dòng)整體設(shè)計(jì)不太合理邏輯有些復(fù)雜建議調(diào)整。這種意見(jiàn)最大的問(wèn)題是評(píng)審人自己其實(shí)沒(méi)想清楚哪里不合理就拋了個(gè)模糊的感受過(guò)去開(kāi)發(fā)收到反饋后還得猜一來(lái)一回溝通成本極高。有時(shí)候開(kāi)發(fā)猜錯(cuò)了方向改了一遍之后評(píng)審人又說(shuō)不是這個(gè)意思這種內(nèi)耗最消磨人的耐心。我后來(lái)強(qiáng)制團(tuán)隊(duì)改用行內(nèi)評(píng)論所有意見(jiàn)必須掛到具體的代碼行上。這個(gè)規(guī)則像是一個(gè)強(qiáng)制思考的裝置當(dāng)你想說(shuō)這里設(shè)計(jì)不合理的時(shí)候你得先找到具體哪一行讓你產(chǎn)生了這種感覺(jué)。找到之后你往往會(huì)發(fā)現(xiàn)自己的真實(shí)意見(jiàn)其實(shí)是這里把狀態(tài)判斷和數(shù)據(jù)更新耦合在一起了后續(xù)加需求時(shí)容易漏改這樣一說(shuō)反饋就有了可落地性。行內(nèi)評(píng)論還有一層好處它天然形成了一條討論線其他評(píng)審人可以看到完整上下文不會(huì)出現(xiàn)兩個(gè)評(píng)審人針對(duì)同一個(gè)地方給出兩條互相矛盾的意見(jiàn)。這在多人協(xié)作的團(tuán)隊(duì)里非常關(guān)鍵不然開(kāi)發(fā)端同時(shí)收到這里應(yīng)該拆開(kāi)和這里應(yīng)該合并兩個(gè)意見(jiàn)的時(shí)候心態(tài)很容易崩。2.2 提問(wèn)式溝通一個(gè)改寫話術(shù)就能改變協(xié)作氛圍第二個(gè)改變是話術(shù)。我在團(tuán)隊(duì)里搞過(guò)一次特別小的實(shí)驗(yàn)要求所有人在給評(píng)審意見(jiàn)時(shí)不允許直接下結(jié)論必須用提問(wèn)的方式表達(dá)。比如把你這里寫錯(cuò)了改成這里的狀態(tài)流轉(zhuǎn)我有點(diǎn)沒(méi)看明白可以解釋一下嗎把你這個(gè)設(shè)計(jì)有問(wèn)題改成為什么不用現(xiàn)有的 xx 方法是我漏了什么約束嗎。實(shí)驗(yàn)效果出乎意料的好。原因是提問(wèn)式表達(dá)天然帶有開(kāi)放性開(kāi)發(fā)收到問(wèn)題后的第一反應(yīng)是解釋而不是防御。被質(zhì)疑和被請(qǐng)教之間有一個(gè)重要的心理差異前者會(huì)讓人先進(jìn)入防御狀態(tài)再考慮問(wèn)題本身后者會(huì)讓人先思考問(wèn)題再組織回答。很多原本可能引發(fā)爭(zhēng)論的意見(jiàn)用提問(wèn)方式說(shuō)出來(lái)就變成了一次方案探討。執(zhí)行的過(guò)程中我建議不要做得太機(jī)械不是禁止一切確認(rèn)式表達(dá)而是提醒大家注意比例。如果一個(gè) MR 里全是命令式的改為 xx溝通氛圍很快就冷下去了如果至少一半的評(píng)論是提問(wèn)式的整個(gè)討論就活了。2.3 異步節(jié)奏把催命式 改成留足思考時(shí)間的異步協(xié)作做 Code Review 的時(shí)機(jī)也很重要。很多團(tuán)隊(duì)的習(xí)慣是MR 提出來(lái)之后馬上在群里 評(píng)審人然后每隔一小時(shí)問(wèn)一次看了沒(méi)。這種催命式協(xié)作看似高效實(shí)際上逼著評(píng)審人在沒(méi)有完整上下文的狀態(tài)下倉(cāng)促答復(fù)質(zhì)量能高才怪。真正的深度閱讀需要一個(gè)不被打斷的時(shí)間塊如果評(píng)審人腦子里還掛著別的事情不要說(shuō)邏輯漏洞了有時(shí)候連明顯的命名問(wèn)題都會(huì)被跳過(guò)。我給團(tuán)隊(duì)定的規(guī)則是MR 提出后設(shè)置默認(rèn) 4 小時(shí)響應(yīng)期評(píng)審人在這個(gè)窗口內(nèi)可以隨時(shí)接收但不要求立即響應(yīng)開(kāi)發(fā)在 4 小時(shí)內(nèi)沒(méi)收到反饋可以主動(dòng)提醒一次而不是每半小時(shí)催一次。這個(gè)節(jié)奏讓評(píng)審人能安排出整塊的時(shí)間來(lái)認(rèn)真讀代碼也讓開(kāi)發(fā)從等待審批的焦慮里解放出來(lái)可以在等待期間繼續(xù)做下一個(gè)任務(wù)。當(dāng)然這不是讓評(píng)審無(wú)限期拖延這里有兩個(gè)兜底機(jī)制第一MR 的標(biāo)簽系統(tǒng)會(huì)自動(dòng)標(biāo)記等待評(píng)審超過(guò) 8 小時(shí)技術(shù)負(fù)責(zé)人會(huì)介入?yún)f(xié)調(diào)第二阻塞性的問(wèn)題可以升級(jí)為語(yǔ)音溝通不要求一定要在評(píng)論區(qū)討論完。異步協(xié)作的度就在這里給足空間但不放任。3. 從規(guī)范到工具一套可復(fù)制的 open-code-review 落地配置理念說(shuō)完了到實(shí)操環(huán)節(jié)。Code Review 這件事光靠嘴上約定是撐不起來(lái)的必須把規(guī)則固化到工具鏈里讓流程自動(dòng)發(fā)生。下面是我最終沉淀下來(lái)的一套配置可以直接抄。3.1 審查規(guī)則矩陣先劃分清楚什么必須人審、什么機(jī)器審、什么不審落地第一步我給團(tuán)隊(duì)畫(huà)了一張審查規(guī)則矩陣核心目的是讓每個(gè) MR 的評(píng)審人能明確知道自己的審查重點(diǎn)在哪里以及哪些事情根本不用人看。這張表很重要它解決了評(píng)審人注意力往哪兒放的問(wèn)題。審查類型對(duì)象責(zé)任人目的基礎(chǔ)規(guī)范格式、Lint 檢查、類型檢查機(jī)器CI把低級(jí)問(wèn)題擋在評(píng)審之前邏輯正確性核心業(yè)務(wù)代碼、狀態(tài)流轉(zhuǎn)、邊界處理指定評(píng)審人發(fā)現(xiàn)真實(shí) bug 和設(shè)計(jì)問(wèn)題架構(gòu)合理性大型改動(dòng)、跨模塊改動(dòng)技術(shù)負(fù)責(zé)人參與把控系統(tǒng)整體方向約定一致性命名、目錄結(jié)構(gòu)、接口設(shè)計(jì)全員保持代碼庫(kù)風(fēng)格統(tǒng)一無(wú)需審查依賴版本小升級(jí)、純文案修改、生成代碼無(wú)減少無(wú)意義的審查負(fù)擔(dān)這張表掛在團(tuán)隊(duì)文檔里之后最明顯的變化是大家終于不用為一個(gè)新增的工具函數(shù)到底要不要走完整審查吵架了。以前每次遇到這種模糊地帶都要反復(fù)確認(rèn)這個(gè)要不要評(píng)審人看現(xiàn)在表里寫得清清楚楚省下來(lái)的精力全用在了真正需要人的地方。3.2 小步提交MR 越小審查質(zhì)量越高第二個(gè)原則是強(qiáng)制性的MR 的規(guī)模要與審查深度成反比。我把 MR 的合理規(guī)模定為 200 行左右含測(cè)試。上限設(shè)在 400 行超過(guò) 400 行的 MR 必須拆分成多個(gè)子 MR或者約定至少有兩個(gè)評(píng)審人參與。這個(gè)規(guī)定一開(kāi)始阻力非常大很多組員覺(jué)得拆分 MR 很麻煩尤其是那種牽一發(fā)動(dòng)全身的改動(dòng)感覺(jué)拆開(kāi)之后反而多了一堆合并工作。但執(zhí)行一個(gè)月后幾乎所有人都認(rèn)可了。原因很簡(jiǎn)單小 MR 的上下文容易裝載評(píng)審人不需要在大腦里維護(hù)一個(gè)龐大的狀態(tài)表能真正把邏輯理清楚另外小 MR 合并沖突概率低開(kāi)發(fā)之間的相互阻塞也少了反而是大 MR 經(jīng)常在合并時(shí)跟別人撞車改沖突就改半天。我在 CI 里加了一個(gè)腳本MR 新增行數(shù)超過(guò) 400 行時(shí)自動(dòng)打標(biāo)簽并提醒拆分從技術(shù)手段上保證這個(gè)規(guī)則不會(huì)被突破。這種自動(dòng)化約束比群公告管用得多人記不住規(guī)則工具能記住。3.3 CI 層攔截機(jī)器先審一輪人的精力留給真正的設(shè)計(jì)問(wèn)題現(xiàn)在的工具鏈已經(jīng)完全可以做到讓機(jī)器先審一輪再讓人去讀代碼。我在項(xiàng)目里配置了這樣一組流水線# .github/workflows/open-code-review.yml name: open-code-review on: pull_request: types: [opened, synchronize, ready_for_review] jobs: static-check: runs-on: ubuntu-latest steps: - uses: actions/checkoutv4 - name: Install dependencies run: npm ci - name: Lint and format check run: npm run lint npx prettier --check . - name: Type check run: npm run typecheck - name: Test with coverage run: npm run test -- --coverage - name: Security scan run: npx audit-ci --moderate這條流水線的效果是格式問(wèn)題、類型錯(cuò)誤、低等級(jí)安全漏洞、測(cè)試覆蓋不足這類問(wèn)題全部在評(píng)審人介入之前被攔截掉。評(píng)審人打開(kāi) MR 時(shí)看到的 diff不需要在縮進(jìn)和分號(hào)上浪費(fèi)任何時(shí)間可以直接進(jìn)入邏輯層面。除了這些常規(guī)靜態(tài)檢查我還接了一層 AI 輔助審查把 PR diff 自動(dòng)發(fā)給大模型做一輪輕量級(jí)掃描重點(diǎn)看常見(jiàn)的空指針、越界、資源泄漏、并發(fā)隱患輸出建議掛在 PR 下面。AI 的建議并不總對(duì)但它的價(jià)值在于把一部分重復(fù)性、模式化的問(wèn)題先圈出來(lái)讓人的審查注意力集中到更重要的設(shè)計(jì)問(wèn)題上。關(guān)于 AI 接入后遇到的坑后面有一節(jié)專門講這里先不展開(kāi)。4. 落地踩坑實(shí)錄從形式化到有效審查之間隔著真實(shí)距離再好的方案落地過(guò)程中一定會(huì)有幺蛾子。我把這兩個(gè)月里踩的比較典型的幾個(gè)坑和對(duì)應(yīng)的修正寫出來(lái)給后來(lái)的人排雷。4.1 第一個(gè)坑規(guī)則定得太細(xì)團(tuán)隊(duì)直接放棄抵抗第一版 open-code-review 規(guī)則我寫了二十多條從 MR 標(biāo)題格式、提交信息規(guī)范到每個(gè)目錄的職責(zé)邊界全做了約束。執(zhí)行了兩周團(tuán)隊(duì)里的怨氣值肉眼可見(jiàn)地攀升甚至有兩個(gè)同事明確表示這么寫代碼不如不寫。復(fù)盤之后我意識(shí)到問(wèn)題出在過(guò)度設(shè)計(jì)上。規(guī)則是輔助工具不是目的本身。當(dāng)規(guī)則多到需要開(kāi)發(fā)花額外的精力去記憶和遵守時(shí)它就開(kāi)始消耗團(tuán)隊(duì)的認(rèn)知資源和積極性了。而且規(guī)則的邊際效益是遞減的最核心的三條規(guī)則能解決 80% 的問(wèn)題剩下的 20% 用二十條規(guī)則去摳性價(jià)比極低。修正方案很粗暴砍掉三分之二的規(guī)則只保留最有價(jià)值的核心項(xiàng)——MR 必須帶行內(nèi)評(píng)論、必須跑過(guò) CI、超過(guò) 400 行必須有第二個(gè)評(píng)審人。其他細(xì)節(jié)全部降級(jí)為建議用文檔里的最佳實(shí)踐章節(jié)來(lái)承載??惩曛罅鞒特?fù)擔(dān)立刻降下來(lái)了大家執(zhí)行規(guī)則的意愿反而提高了。4.2 第二個(gè)坑AI 審查接入后人的參與度反而下降了我是在第二周接入 AI 輔助審查的。第一個(gè)月的確很爽AI 能掃出不少空指針和邊界問(wèn)題PR 的機(jī)器已審標(biāo)簽讓團(tuán)隊(duì)有一種質(zhì)量有保障的錯(cuò)覺(jué)。但一個(gè)月后我再統(tǒng)計(jì)數(shù)據(jù)發(fā)現(xiàn)人的行內(nèi)評(píng)論數(shù)反而下降了 30%真正在設(shè)計(jì)、擴(kuò)展性、可維護(hù)性這些深層次問(wèn)題上提出討論的比例越來(lái)越低。原因其實(shí)不難理解大家看到 AI 已經(jīng)審過(guò)了潛意識(shí)里覺(jué)得機(jī)器看過(guò)了應(yīng)該沒(méi)啥大問(wèn)題人的審查動(dòng)機(jī)被削弱了。這是一個(gè)非常典型的自動(dòng)化陷阱——工具代替人做了一部分事情之后人不是把省下來(lái)的精力投入到更深層的問(wèn)題上而是直接選擇了偷懶。人這種東西能省力的時(shí)候是一定會(huì)省力的這是本能。修正方法是把人機(jī)分工的邊界重新劃清楚AI 的掃描結(jié)果只是參考不算正式審查意見(jiàn)同時(shí)要求每個(gè) MR 的評(píng)審人必須至少提出一條設(shè)計(jì)層面的問(wèn)題或者確認(rèn)說(shuō)明否則視為未完成審查。我甚至加了一個(gè)小的數(shù)據(jù)追蹤每周給團(tuán)隊(duì)看一眼本周人的有效評(píng)論 vs AI 評(píng)論的比例讓問(wèn)題暴露在陽(yáng)光下。這樣把人的責(zé)任底線重新立了起來(lái)AI 變成輔助而不是替代。4.3 第三個(gè)坑大型 PR 的注意力稀釋即使在200 行最佳、400 行上限的規(guī)則約束下還是偶爾會(huì)出現(xiàn)一個(gè) 800 行的大 PR。這種 MR 通常是需求本身就繞不開(kāi)的大改動(dòng)比如底層依賴升級(jí)、數(shù)據(jù)庫(kù)遷移、權(quán)限體系重構(gòu)。按規(guī)則拆分吧有時(shí)候確實(shí)拆不開(kāi)硬拆反而破壞整個(gè)改動(dòng)的原子性。大 PR 的致命問(wèn)題在于注意力稀釋評(píng)審人從頭看到尾看到第 500 行時(shí)已經(jīng)忘了第 80 行的上下文到第 700 行時(shí)基本處于看字不認(rèn)識(shí)字的狀態(tài)最后只能草草通過(guò)。這種評(píng)審比不評(píng)審更危險(xiǎn)因?yàn)樗o了團(tuán)隊(duì)一種虛假的安全感——這個(gè)改動(dòng)我們審過(guò)了沒(méi)問(wèn)題但實(shí)際上什么問(wèn)題都沒(méi)發(fā)現(xiàn)。對(duì)大型改動(dòng)我定了兩條補(bǔ)充規(guī)則一是必須拆分子任務(wù)提交也就是大 PR 內(nèi)部按模塊拆成多個(gè) commit每個(gè) commit 保證可獨(dú)立審查二是超過(guò) 600 行時(shí)強(qiáng)制分配兩個(gè)評(píng)審人分別負(fù)責(zé)不同模塊。執(zhí)行下來(lái)大型 PR 的討論質(zhì)量明顯好于從前雖然還是不如小 MR 那么干凈但至少不會(huì)再出現(xiàn)看字不認(rèn)識(shí)字然后閉眼通過(guò)的情況了。4.4 復(fù)盤后的流程修正兩個(gè)月里我做了三次流程調(diào)整。第一次砍規(guī)則、第二次劃清人機(jī)邊界、第三次針對(duì)大 PR 設(shè)計(jì)分級(jí)評(píng)審機(jī)制。每次調(diào)整的依據(jù)不是拍腦袋而是看數(shù)據(jù)行內(nèi)評(píng)論數(shù)量、意見(jiàn)采納率、MR 從提交到合并的平均時(shí)長(zhǎng)、以及團(tuán)隊(duì)滿意度。到第六周左右數(shù)據(jù)終于穩(wěn)定在一個(gè)讓我滿意的水平指標(biāo)調(diào)整前調(diào)整后平均 MR 大小450 行185 行有設(shè)計(jì)層面討論的 MR 占比8%61%平均評(píng)審響應(yīng)時(shí)長(zhǎng)26 小時(shí)6 小時(shí)因評(píng)審發(fā)現(xiàn)問(wèn)題而回退的 MR3%17%這個(gè)對(duì)比讓我確認(rèn)了一件事流程設(shè)計(jì)不是越重越好而是越聚焦越好。找到真正影響質(zhì)量的那幾個(gè)關(guān)鍵杠桿比鋪一大堆規(guī)則有效得多。所謂開(kāi)放式審查不是放開(kāi)規(guī)則而是把規(guī)則用在刀刃上剩下的空間留給人的判斷和討論。5. 讓 Code Review 變成團(tuán)隊(duì)長(zhǎng)期資產(chǎn)的一些進(jìn)階經(jīng)驗(yàn)最后分享幾個(gè)讓我覺(jué)得當(dāng)初折騰這套方案值了的長(zhǎng)期收益以及一些更進(jìn)階的玩法。這些不是一開(kāi)始就能看到的是在流程穩(wěn)定運(yùn)行兩三個(gè)月之后慢慢浮出來(lái)的。5.1 把審查評(píng)論沉淀成團(tuán)隊(duì)知識(shí)庫(kù)我發(fā)現(xiàn)每一次高質(zhì)量的審查討論其實(shí)都是很好的技術(shù)文檔素材。比如有人問(wèn)這里為什么不直接用緩存而是裸查數(shù)據(jù)庫(kù)評(píng)審人解釋了當(dāng)前業(yè)務(wù)場(chǎng)景下緩存一致性成本過(guò)高、加上這個(gè)接口的 QPS 根本到不了需要緩存的量級(jí)這個(gè)討論本身就是一條非常有價(jià)值的架構(gòu)決策記錄。后來(lái)我讓組員每周花半小時(shí)整理本周最有價(jià)值的審查討論脫敏后歸檔到團(tuán)隊(duì)的知識(shí)庫(kù)。幾個(gè)月下來(lái)這個(gè)審查集錦成了新員工入職培訓(xùn)的重要材料很多典型坑新人看完就不需要再踩一遍了。以前新人的培養(yǎng)基本靠口頭傳幫帶效率低而且信息損耗大現(xiàn)在有了這些真實(shí)案例新人自己就能完成很大一部分的避坑教育。5.2 用審查記錄反向校準(zhǔn)技術(shù)債務(wù)地圖審查記錄里還藏著技術(shù)債務(wù)的指向性信號(hào)。哪個(gè)模塊的 MR 經(jīng)常被評(píng)審人提同樣的意見(jiàn)哪類問(wèn)題反復(fù)出現(xiàn)這些數(shù)據(jù)比任何靜態(tài)掃描工具都能更真實(shí)地反映系統(tǒng)的薄弱環(huán)節(jié)。靜態(tài)掃描只能告訴你這里有個(gè)潛在 bug 模式但它沒(méi)法告訴你團(tuán)隊(duì)在這個(gè)模塊上反復(fù)犯同一類錯(cuò)誤這件事。我把季度審查數(shù)據(jù)按模塊聚合了一下發(fā)現(xiàn)支付模塊的并發(fā)處理相關(guān)意見(jiàn)占了全團(tuán)隊(duì)同類意見(jiàn)的半數(shù)以上?;谶@個(gè)信號(hào)我們組織了一次專門針對(duì)支付模塊并發(fā)模型的專項(xiàng)重構(gòu)從那之后這個(gè)模塊相關(guān)的評(píng)審意見(jiàn)數(shù)量下降了約百分之四十。審查數(shù)據(jù)反過(guò)來(lái)指導(dǎo)架構(gòu)演進(jìn)這個(gè)玩法是我一開(kāi)始沒(méi)預(yù)料到的但它帶來(lái)的價(jià)值幾乎不亞于審查本身。5.3 從代碼審查走向設(shè)計(jì)評(píng)審當(dāng)代碼審查文化穩(wěn)定之后我發(fā)現(xiàn)團(tuán)隊(duì)開(kāi)始自然而然地要求設(shè)計(jì)先行了。改動(dòng)比較大的需求開(kāi)發(fā)會(huì)先寫一個(gè)簡(jiǎn)短的設(shè)計(jì)說(shuō)明把它當(dāng)作一個(gè)虛擬 MR 發(fā)給相關(guān)同事用和代碼審查一樣的行內(nèi)評(píng)論機(jī)制來(lái)討論設(shè)計(jì)本身。這不需要任何額外的工具配置就是復(fù)用現(xiàn)有的 MR 流程只是把提交代碼提前成了提交設(shè)計(jì)文檔。這其實(shí)是我最想看到的場(chǎng)景當(dāng)團(tuán)隊(duì)習(xí)慣了建設(shè)性的、開(kāi)放式的討論方式這套方法就不光適用于代碼了它可以順滑地遷移到系統(tǒng)設(shè)計(jì)評(píng)審、接口協(xié)議討論、甚至團(tuán)隊(duì)流程的制定上。代碼審查只是土壤結(jié)出來(lái)的果實(shí)是整個(gè)團(tuán)隊(duì)的協(xié)作水位。從最初的形式化過(guò)場(chǎng)到現(xiàn)在的討論氛圍我個(gè)人的體會(huì)是起作用的不是某一個(gè)單一的工具或者規(guī)則而是把審查定位從門禁改成協(xié)作之后整個(gè)流程自然生長(zhǎng)出來(lái)的樣子。如果你也在被低質(zhì)量、或者被抵觸的 Code Review 折磨先別急著換工具不妨想想你們對(duì)審查的定義是不是本身就出了問(wèn)題。開(kāi)放式的討論比封閉式的審批獲得好代碼的概率要高得多。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
婷婷五月激情综合网| 9久视频| 色婷婷AV在线观看| 91九色精品熟女内射| 精品人妻久久久| 久久99久久99www| 成人短视频在线| 任你草| 开心丁五月| 99热精地址| 色综合久久88色综合天天99| 婷婷综合伊人| 亚洲国产精品SUV| 色婷婷五月天偷拍| 777精品久无码人妻蜜桃| 九月婷婷人人操人人舔人人爱| www.婷婷五月| 99热777| 九九九热精品| 2020日日干| 国产精品第一国产精品| 伊人啪啪网| www,五月天激情| 亚洲操逼片| 丁香五月天堂网| 免费视频99| 婷婷五月天色综合| 天天综合网在线| 先锋资源婷婷| 91seAV| 五月久熟女| 丁香五月影| 丁香综合| 亚洲第一成人AV| 五月丁香网视频| 色综合9| 久久人妻精品| 日本99久久| 精品久久久999| 色色色9| 中文网AV| 天搞天天天天天| 97热精品| 26uuu丁香婷婷五月| 中文超碰视在线| 91精品激情9| 欧美交换配乱吟粗大25P| 日韩无码成人电影| 色婷婷电影网| 不卡在线视频| 超碰天堂网| 国产精品久久久久久久久久| 国产一二区爆乳_1国产日韩一区二区三-成人AV| 综合色情网| 五月婷婷激情久久| 天堂网啪啪| www开心激情网| 天天干天天操天天干天天操天天干天天操| 午夜不卡成人一区二区| 一级A片天天操夜夜操| 这里只有精品在线播放| 玖玖精品视频| 五月亭亭六月天| av人人干| 无码AV大香线蕉伊人| 91久久久久久久久久18| 久久综合最新网址| 91综合在线视频| 丁香五月综合无码趴趴| 丁香五月影视| 26uuu四色| 人人爽人人射-美女久久久久久久久久-成人AV | 99人妻碰碰碰久久久久视| 久久五月丁香婷婷| 久久久五月天网站| 色婷婷啪啪啪啪啪啪| 91丨九色丨国产打屁股网站| 五月丁六月香av| 色国产五月| 夜夜操夜夜操| 色一情一乱一乱一区9| 色婷婷网大全在线| 丁香六月综合| 婷婷中文综合网| 玖玖婷婷五月天毛片| 91操黄| 国产精品成av人在线视午夜片| 91丨九色丨大屁股| 国内精品免费一区二区2009| 欧美日韩国产一区| 琪琪色影音先锋| 婷婷五月天免费视频在线观看| 九九成人电影婷婷| 狠狠草网| 色五月婷婷五月丁香五月激情五月视频| 国产va在线视频| 精品综合久久久久久五月天| 丁香五月天激情视频| 亚洲成人婷婷| 五月丁香啪啪网| 国产69精品久久久久999小说| 久久国产成人9999久久久久| 色9999日韩国产| 超碰com| 爱射综合| 狠狠操狠狠操AV| 操碰99| 日本久久天堂| 国产资源在线视频| 99视频在线观看视频| 亚洲九九视频| 影音先锋美国A| 99精品国产在热久久婷婷| 99狠狠色| 午夜成人av在线| 五月天丁香综合久久国产| 99色啊| 99国产这里只有精品| 久久伦乱| 91日本在线免费| 亚洲天堂热| 五月综合婷婷网| 五月婷婷丁香瑟瑟视频| 青草青草视频2免费观看| 久久婷婷六月综合综合| 日日噜噜夜夜狠狠久久丁香六月| 日本片日本片祼观看网站在线看中文版网页在线看 | 激情六月丁香| 五月丁香婷爱在线| 久久99精品视频| 亚洲a片免费观看| 大香蕉五月天| 婷婷刺激综合| 成人国产网站| 天天干天天叉| 国产伦亲子伦亲子视频观看| 五月丁香啪啪网| 狠狠色 综合色区| 色婷婷久久综合| 91狼友视频在线观看| 99热永久在线观看| 色婷网| 五月丁香综合精品欧美| 天干干夜夜操| 色五月激情网| 另类专区在线观看| 人人操91| 五月天偷拍| 国产在线网| 婷婷在线播放av| 噜噜狠狠色综无码久久合欧美| 99精品视频在线观看| 天天日夜夜欢| 婷婷久月| 五月亭久久无码视频| 一區四區歐美日韓| 99色在线视频| www.minyis.com【JT】实力收量可预付TG@LXSPSW8 | 美女婷婷六月色| 色五月综合网| 人人97碰| 五月婷婷色色| 婷五月天天| 大香蕉婷婷五月天| 五月丁香啪啪| 激情五月婷婷视频一区二区三区| 免费国产VA国产免费| 99国产精品久久久久久久久久久| 99@久久@99精品视频| 99精品在线播放| 五月婷婷六月丁香色| 狠狠草网| 五月婷婷亚洲| 五月天另类激情在线| 五月丁香| 99热99精品在线观看| 色99视频| 日韩六十路91性交电影| 天天操天天插天天射| 激情5月天天天| 色狠狠色噜噜AV天堂五区| 五月丁了香蕉综合| 乱岳熟女50岁| 亚洲小视频| 天天插操| 色婷婷亚洲五月天| 色99在线视频| 99综合免费视频| 五月婷六月综合在线观看| 久久六月综合| 午夜AV网| 熟女激情五月天 | 五月丁香六月婷婷免费视频| 欧美久久九九| 丁香五月激情网| 五月天综合久久丁香91| 99热久| 五月综合久久| 狠狠婷婷色综合| 久久久区区一久久久久久| 色色欧美色色| 色婷婷综合网| 国庆精品久久| 婷婷99综合| 九九精品视频在线观看| BT综合在线视频观看| 亚洲操逼网| 天天色天天搡| 久久丁香网| 97碰碰在线观看视频| 538任你爽| 五月天综合视频| www.狠狠操.com| 伊人九九68| www色五月| 五月天久久久| 丁香久久五月天视频在线观看| 狠狠精品干练久久久无码中文字幕| 激情网婷婷婷| 色五月丁香五月| 国产精品久久久久久久久久免费| 99热8| 婷婷综合网| 噼里啪啦完整版中文在线观看| 五月丁香色婷婷熟女| 日韩久综合| 色色色色色色色色综合网| 五月丁香色婷婷婷基地| 中文字幕亚洲-区久久99婷婷| 激情久久肏屄视频| 少妇人妻凹凸视频| 婷婷色情小说| 激情综合网五月激情| 碰碰人人人| 五月天成人综合| 99久久久99久久91熟女| 97人人操人人操人人操人人| 亚洲成人免费电影| 激情五月婷婷在线观看| 丁香五月aV| 久久激情五月网| 91丨九色丨东北熟女| 婷婷五月天激情丁香| 婷婷六月丁香开心深深爱| 激情综合国产| 五月丁香六月婷婷婷婷| 久久五月婷| 香蕉久久五月| WWW.桔色成人.COM| 色~性~乱~伦~噜| 97深爱伊人综合| 久久超级碰视频| 久久五月天婷婷| 天天艹夜夜艹| 五月婷婷婷婷婷| 99黄色性生活| xx久久| 老美AA片| 国产成人+综合亚洲+天堂| 九九热99热| 99热无码精品| 九九国产视频| 日本综合久久| 琪琪色热色色| 亚洲免费视频网站| 婷婷综合玖玖五月| 另类五月激情| 八戒青柠影视剧在线观看| 亚洲综合草草| 99热最新| 成人综合伍月天| 婷婷五月丁香高清无码| 色综合色五月| 久热这里只有精品视频免费观看| 五月天婷婷六月| 99自拍视频网站| 婷婷丁香五月社区亚洲| 婷婷五月激情欧美大胆视频| 国产欧美精品AAAAAA片| 午夜天堂一区人妻| 五月丁香综合激情| 人妻22p| 大香蕉伊人爱在线| 国产性爱一级| 综合色影| 亚洲AV网址| 五月天网站亭亭| 伊人深爱综合| 六月婷婷九月丁香亚洲综合| 综合深爱五月| 亚洲 五月 婷婷 成人| 婷婷五月天天| 精品综合久久久久久五月天| 久久狠狠色| 色之综合网| 国产亚洲在线观看| 另类五月婷婷| 五月的婷婷六月丁香| 色在线五月天免费| 97干婷婷五月天| 亚洲精99| 深爱丁香激情| 婷婷六月激情综合| 久久婷婷五月综合| 婷婷色九月| 激情性爱五月| 久久机热/这里只有精品| 久99热| 色婷婷九月| 狠狠香蕉| 欧美搡BBBBB摔BBBBB| 99色综合| 婷婷五月激情小说| 91久久综合亚洲噜噜成人在线 | 激情www| 操人91| 五月天婷婷基地| 另类视频在线| 天天日天天插| 亚洲视频另类| 播播网色播播| 成人免费120分钟啪啪| 激情综合五月| 激情 久久 婷婷| 婷婷黄色网| 天天射色五月天| 九9九9无码| xx久久| 99热综合在线| 久久久精品人妻录| 色情丁香五月婷婷精品| 99成人| 久久中文网| 色八戒操婷婷| 九九99精品| 色婷婷狠狠18禁| 77799热| 草婷婷在线| 常久最新免费的色吊丝| 九九久久99精品免费观看www| 日日夜夜狠狠| 免费99色| 亚洲人人96@| 久久丁香五月婷婷| 婷婷的久久网站| 少妇人妻人伦A片| 婷婷丁香五月天之开心少妇| 激情五月天综合网| 99热在线中文字幕| 久久色五月| 九九黄色网| 久久婷五月影院| 99久久婷| 丁香丝袜五月| 久热伊人| 激情五月天的婷婷| 九热视频这里只有精品| 99久久性爱| 熟女激情五月天| 六月婷婷色色色| 日日夜夜狠狠| 综合网网欲色| 亚州激情网站无码| 五月丁香综合| 丁香五月激情图片婷婷| 久久久激情视频| 丁香五月激情视频在线| 91九九| 超碰日韩成人| 丁香五月天激情网址| 久久人妻视步| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 一起草无码视频| 色色亚卅| 99精品无码| 丁香六月天婷婷| 99re思思热在线视频| 丁香五月婷综合网| 99久久人妻精品无码二区| 欧美日韩国产一区| 色五月激情婷婷| 91超级碰| 婷婷大香蕉| 99热这里只有精品3| 91久久久久久久| 大伊香蕉玖玖爱| 久久久一级AAA| 久99久视频| 婷婷六月五月天综合| 色婷婷电影网| 91精品久久久久久77777| 色色色成人网| 日韩丁香涩| 五月天婷婷爱| 五月婷婷AV| 无码少妇高潮喷水A片免费| 丁香五月婷婷亚洲综合精品| 五月丁香偷拍| 亚洲色区17| 久久黄色免费视频| 欧美性丁香色色五月天干干| PORNY九色9l自拍视频成人| 激情VA视频| WWW.久久.COM| 九九这里精品| 日韩成人中文| 五月丁香六月婷婷综合伊人| 丁香五月开心婷婷| 9色婷婷| 欧美婷婷六月丁香综合色连续高潮抽搐| 色婷婷综合影院| 婷婷九九色| 天天操天天操| 天海翼中文字幕高| 亚洲激情综合五月婷婷啪啪| 黄色国久久| 激情五月综亚网| 久99视频在线观看| 青青草婷婷久久| 婷婷综合五月色播| 欧美日韩一区二区三区四区| 日日夜夜小色哥| 性欧美大战久久久久久久83| 26UUU精品一区二区c〇m| 亚洲爆乳无码精品AAA片蜜桃| 五月丁香亚洲校园欧美| 另类激情中文| 亚色网站小视频| 激情综合婷婷| 丁香五月综合图片在线观看| 91无码一起草| 国产无套精品一区二区| 黑人无码一区| 91啪啪视频| 91婷婷丁香| 精品人妻久久久久久| AV激情五月| 激情五月天视频| 新久久五月天激情| 欧美三级巜人妻互换| 九九热在线视频,| 国产精品久久7777777精品无码| 久久AV无码精品人妻系列试探| 色婷婷五月天天天天天天天天天| 色啪久| 激情深爱五月| 99久在线观看| 久久综合99综合| 色噜噜婷婷| 99伊人婷婷在线| 熟女网站久久| 色六月丁香婷婷狠狠干| 欧美三级韩国三级日本三斤| 久热超碰91| 99综合色色色| 婷婷五月天久草在线| 99热免费精品| www久久99| 97干在线视频| 久久免费婷婷视频| 国产免费一区二区三州老师F1F1……| 99ri国产在线| 天天橾日日橾夜夜橾17| 五月天婷婷色色网| 五月婷婷性爱| 五月草视频| 国产在线中文字幕| 日本44久久在线| 99热这里只有精品9| 久久综合激情| 狠狠婷婷日韩| 天天插天天插天天插天天插| 丁香五月网在线观看| A级毛片高清免费不卡播放谢谢谢谢| 久久九九综合| 午夜激情五月天| 伊人久久大香线蕉av最新| AA丁香综合激情| 天天色天天爱天天爱天天爱y| 97在线/亚洲| 成人无码髙潮喷水A片| 色五月婷婷丁香五月| 超碰免费成人| 99视频这里有精品| 九九色热| 思思99热| 激情五月,深深爱五月| 日韩狠狠色| 丰满少妇乱A片无码| 99在线热视频| 这里只有精彩亚洲视频推荐| 99色视| www.九九婷婷| 欧美搡BBBBB摔BBBBB| 婷婷综合成人| 五月天激情图片| 婷婷五月丁香六月天亚洲综合| 日本99视频精品免费播放| 激情丁香五月婷婷| 九九干视频| 成人狠狠成人狠狠成人狠狠成人狠狠| 在线婷婷| 伊人综合婷婷| 91狼友视频在线观看| 99这里只有精品视频| 亭亭五月色男人| 99这里只有免费的小视频在线观看| 99色.com| 国产原创视频91九色| 五月丁香婷中文| 99综合99| 99热精品10| 亚洲成人另类| 午夜福利8055| 97男人天堂| 777米奇影视第四色| 日韩狠狠色| 亚洲日韩欧美综合VA| er99免费视频在线| www.夜夜操.con| 91狠狠色| 好看的国产精品| 久久99jiu9| 极骚大香蕉伊人| 99噜噜噜在线播放| 婷婷综合网| 五月丁香激情综合网| 五月婷丁香| 五月婷视屏在线观看| 热99久久这里只有精品| 婷婷丁香五月精品| 天天爱天天做天天舔| 亚洲综合激情五月久久| 碰碰91| 色哟哟性爱av| 99久在线精品99re5热视频| 思思热99er| 婷婷色色综合| 五月丁小婷婷激情四射| 丁香8月手机综合| 精品一二三区久久AAA片| 人妻少妇色综合| 色婷婷影院| 亚洲网视屏| 美女网黄| 99热18| 九九人人操| 久久色亭亭五月天| 九热免费视频| 五月天大香蕉| 97久久久| 亚洲中文字幕AV在线| 一本大道伊人AV久久综合| 丰满老熟妇BBBBB搡BBB| ..真实国产乱子伦对白在线_欧| 亚洲精品又粗又大又爽A片| 久久婷婷五月天| 人妻久久久| 免费无码毛片一区二区A片| 禁欲电影完整版在线播放| 五月婷婷大香蕉| 日本熟妇乱妇熟色A片蜜桃| 无码激情AAAAA片-区区| 丁香花综合永久入口| 丁香婷婷婷婷十二月在线观看视频| 1024在线视频| 99日精品视频| 婷婷激情肏屄网| 五月天激情久久| www.日本久久videos| 五月天婷亚洲天综合网综合| 五月色婷婷AV| 婷婷狠狠操| 色五月婷婷操逼| 色五月激情五月天| 婷婷五月欧美综合| 国产色视频网站2| 99热在线观看精品| 99小精品| 激情五月天小说| 色丁香五月天| 激情内射人妻1区2区3区| 色婷小说| 91热99| 五月丁香 久久久| 日本精品。999| www.minyis.com【JT】币址百万U预算可预付QQ2101460746 | 色99视频| 99热这里只有精品在线观看| 欧美激情综合五月色丁香| 玖玖热99| 中文网AV| 五月婷婷香| 97碰碰视频在线观看| 91碰碰碰| 亚洲Av成人在线观看| 国产人妻操逼| 五月丁香六月婷婷综合| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 激情丁香婷婷| 天天开心AV色综合婷婷五月天| 亚洲男女激情| 午夜69成人做爰视频| 久久丁香五月天| 婷婷五月婷婷| 永久热91| 色国产五月| 婷婷六月色| 成人精品在线观看| 91狠狠综合久久| 超碰婷婷五月| 热的五码久久精品| 玖玖婷婷五月天| 另类专区在线观看| 97久久超视频| 香蕉大综综综合久久| 综合色五月天| 狠狠爱综合网| 玖玖综合玖玖| 五月丁香六月婷婷手机无线| 日韩无码色色| 色婷婷性爱| 色色色色色五月| 婷婷丁香五月天色区| 丁香五月婷婷偷拍| 国产九月婷婷| 狠狠色丁香婷婷基地| 中文字幕在线免费| 大香蕉啪啪啪啪啪啪| site:picc-up.com| 国产亚洲色婷婷久久99精品91| 天天操天天插天天射| 五五月丁香花激情综合网| 色五月婷婷在线| 亚洲成人AV高清字幕| 色婷婷综合视频| 五月综合无码| 五月婷婷久久爱| 九九sese| 99热这里只有精品66| 五月综合丁香婷婷| 第五色色色婷婷| 精品二区| 午夜性爱影视一区77| 亚洲操b| 久久激情五月| 玖玖资源在线视频| 亚洲精品色| 丁香六月婷婷开心| 久久9精品视频| 色色色色色色色色色色色色色五月天| 大地资源色婷婷视频在线| 天天日天天插| 99热国产国产| 日本人妻A片成人免费看片| 99热这里只有精品3| 777久久久| 婷婷十月激情综合网| 婷婷香蕉精品| 丁香激激情网| 婷婷丁香成人色综合| 国产探花AV在线| 狠狠色婷婷7777久| 亚洲精品操一操、噜一噜、摸一摸、爽 | 天天色综合网吨吧| 97人碰人操| 婷婷五月偷拍| www.91av.com| site:feetmall.com| 丁香婷婷九月在线| 色5月婷婷| 91婷婷色 | 婷婷色色欧美| 日本三级片片| 91热视频色网站| 婷婷五月天丁香激情| 五月丁香六月在线| 日韩精品一区二区亚洲AV观看| 五月丁香天堂网| 99久久国产综合精品五月天喷水\| 激情小说五月丁香在线视频观看视频| 99在线精品视频| 久xxxx| 97操碰碰无码视频| 99自拍视频在线观看| 99综合网| 国产日日夜夜操| 五月桃花网综合| 亚城区在线| 99热碰碰| 久久综合婷婷| 婷婷永久在线| 国产精品 的国产| 亚洲综合另类| 激情综合网丁香| 亚洲日韩一页精品发布| 色五月六月婷婷| AV网址大全在| 久99综合婷婷| 天干干夜夜操| av人人操| 色五月天丁香| 激情图片婷婷| 9婷婷内射| 99精品视频免费观看| 99在线看片| 久久婷婷激情四射五月天| 久久9久| 五月婷婷 六月丁香| 人人操碰| 欧洲色| 五月丁香狠狠| 91狠狠色| 最新无码专区| 综合狠狠干| 91精品熟女| 五月色婷丁香| 国产亚洲精品人人| 久草九一| 久久九九热视频| 无月播播激情在线观看视频| 香蕉综合在线| 中文AV网站| 亚洲午夜AV| 天天擼久久擼在线| 婷综合| 大香蕉久久综合网| 婷婷五月色激情欧美激情| 欧美 日韩 成人在线| 大伊香蕉精品视频在线| 99熟女啪啪视频| 婷婷丁香五月天小说| 超碰不卡在线| 五月丁香婷婷五月色| 超碰九九热| www五月天激情com| 婷婷激情伍月网| 99在线爽| 五月J香蕉婷婷| 丁香五月激情啪啪| 丁香婷婷基地| 五月四色婷婷| 91久久综合亚洲噜噜成人在线 | 嫩BBB搡BBBB榛BBBB| 狠狠色五月天| 天天射影视综合网| 热九九在线| 4399高清无码视频| 五月丁香六月激情| 五月色丁香| 亚洲成人无码网站| 丁香五月开心五月激情| 婷婷五月天激情偷拍| 亚洲综合草草| 久久国产AV| 亚洲av| 婷婷导航| 五月丁香激| 激情深爱五月| 99re热视频| 天天爽—爽| 人妻AV在线| 久久久久亚洲AV无码网影音先锋| 五月婷婷先锋| 男同91| 九九Av| 天天干天天干天天干天天干天| 九九热最新| 婷婷五月天在线综合| 亚洲视99| 婷香五月网在线| 色碰干| 九九热免费视频| 先锋av性爱成人电影| 日本婷婷综合精品| 五月天国产成人| 99色婷婷视频| 色九网| 欧美三级欧美一级| 综合99视频| 欧美三级级99久久| 天天操精品| 丝袜熟女一区二区三区| 欧美十二区| www。五月,com| 日韩在线视频9色| 乱精品一区字幕二区| 亚洲婷婷五月天| 婷婷五月综合激情| 亚洲1区| 五月婷婷无码| 开心五月激情网| 激情丁香五月婷婷| 久久久天堂国产精品女人| 亚洲激情av| 99久视频| 无码少妇高潮喷水A片免费| 中文字幕日产A片在线看| 蜜桃人妻无码AV天堂三区| 色色色综合网| 中文字幕无码人妻少妇免费视频| 天天操天天操天天操天天操天天操| 国产熟女一区二区三区五月婷| 99热久草| www.婷婷.com| 丁香五月另类色婷婷麻豆| 亚洲欧洲中文日韩久久AV乱码| 天天日天天摸| 五月天婷婷激情| 狠狠干五月丁香综合网| 99热99热在线| 五月天丁香成人社| 大香蕉久久久久| www99热| 色色色综合网| 久久精品无码一区| AⅤ在线播放网| 丁香五月网| 色999;丁香五月| 亚洲色激婷| 欧美激情五月| 丁香六月婷婷| 婷婷在线视频| 亚洲国产精品二二三三区| 丁香五月天日韩无码| 丁香五月综合无码趴趴| 成人视频一区| 丁香五月宝贝激情网| 亚洲激情97五月天| 91狠狠色色丁香婷婷综合久久| 123草逼网| 丁香五月色| www.色五月| 久久一操| 色五月婷婷色| 天天射综合网天天插| 99精色| 五月丁香999| 被强行糟蹋的女人A片| 97涩婷婷婷婷基地| 色情丁香五月婷婷精品| 天天日,天天干,天天操| 国产jd1024基地手机看国产| 任你搞网站| 丁香五月婷婷少妇| 婷婷五月天激情文学| 亚洲超碰在线| 色五月婷婷内射| 97亚洲婷婷| 99热色精品| 日韩婷久| 天天拍夜夜撸| 激情婷婷五月| a网站免费观看| 欧美VA视频| 丁香伊人激情| 超碰在线观看9| 国产午夜精品AV一区二区麻豆| 久久日本wwww色| 婷婷成人AV| 情久久综合五月天| 五月天婷婷色色| 亚洲中字AV电影在线网站| 久久WW| 天天成人丁香美女AV| 色三级色三级| 丁香深五月婷婷| 99久在线精品| 色五月在线播放| 成人精品视频99在线观看免费| 亚洲av无码精品色午夜| 激情丁香五月激情婷婷| 九九精品自拍| 免费V片在线| 99这里只有精品国产| 久久999久久999久久999久久| 国产美女无遮挡裸体毛片A片| 人人操人人干AV| 人人舔天天| 色婷婷色99国产综合精品| 亚洲成人日韩无码精品| 蜜桃婷婷丁香五月天狠狠久久综合| 十一月婷婷激情四射| 河北真实伦对白精彩脏话| 91人人操人人| 人人摸人人摸| 国产91资源在线| 激情五月天在线观看婷婷| 操操操Av| 色色色99| 成人五月天丁香婷| 怡红院视频| 9精品久久999| 五月婷婷六月丁香玖玖玫瑰91| 99热在线观看免费中文| 美女妹子后射视频网站在线观看| 五月婷婷激情网| 激情综合网五月| 天天草天天摸| 成人国产欧美大片一区| 亚洲日本激情| 97精品综合久久| 婷婷五月无码| 丁香五月婷综合网| 亚洲偷| 人人干天天舔| 六月丁香久久| 超碰三级片| 婷婷九月丁香| 九一九九黄色| 五月丁香六月欧美综合| 婷婷丁香97| 亚洲色网络| 婷婷射图| 色三级色三级| 欧美色宗和激情| 5月丁香啪啪啪| 中文字幕丰满乱孑伦无码专区| 色五月久久成人婷婷| 五月丁香六月激情| 思思热这里只有精品视频666| 五月丁香久| 9l视频自拍9l视频自拍九色学生| 激情五月天婷婷五月天| 久久婷婷色综合老司机| 色色色色色色色色网站| 99热99日天天干| 97成人丁香| 五月天婷综合网站| 少妇AB又爽又紧无码网站| 国产伊人五月天| 国产亚洲在线观看| 国产在线黄色| 六月丁香啪啪| 婷婷玖玖丁香| 第四色大香蕉| 另类激情五月| 26uuu最新地址| 狠狠色婷婷在线| 色婷婷丁香五月| 亚洲色情一区二区三区四区| 久久久国产精品黄毛片| 亚洲人妻一区二区| 国产99久| 天天影视色综合网| 伊人久久大香线蕉综合网站| 色婷久| 婷婷激情在线| 天天色视频| 亚洲视频丁香网va| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 五月花综合网| 日本精品99| 人人草成人视频| 婷婷操逼| 五月天自拍视频| 亚韩精品视频1区| 亚洲色爱综合| av在线中文| 丁香五月天激情综合| 婷婷综合成人五月天| 丁香婷婷六月| 91丨九色丨白浆秘| 日本的α片xxxwww| www.色色色com| 婷婷天天婷婷天天澡| 久久久九九九 99| 五月丁香久| 色色影院aaaav| 影音先锋AV资源男人站| 亭亭色网| 亚洲色欲欧美一区二区三区| 婷婷94s| 色婷婷导航| 天天操夜夜玩!| 97人妻碰碰碰久久| 99爱精品| 国产色99| 婷婷色色狠狠| www。五月,com| 亚韩在线视频| 五月激情婷婷色| 婷婷色五月天色| 99人人干| 曰日爽日日操| 亚洲综合字幕色色| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 色情开心五月| 99视频精品| 深爱激情六月天| 婷婷五月色影视先锋| 99视频只有精品| 九九精品在线观看视频6| 成人亚洲精品| 久久这里只有精品视频15| 97精品欧美91久久久久久久| 精品怡红九九九| 色九月婷婷综合| aaa久久久| 天天激情站| 日屌日日操日日色| 激情另类综合| 97一区二区| 色综合色色| 亚洲热视频在线| 日本婷婷网| 中文字幕丰满人妻无码专区| 777米奇影视第四色| 超碰在线超碰| 伊人五月网| 九色视频91| 激情综合网色播五月| 亚洲成色综合网站免费观看| 五月丁香亚州综合网| 丁香五月激情网| 激情六月婷婷| 欧美日韩AAAA| 婷婷色五月天第7色| 五月丁香六月综合基地| 久久91久久精品久久| 91九色精品熟女内射| 六月婷婷综合| www.俺去也com| 做爱夜夜干天天操| 九九人人自拍| 日本97人人| 欧美三级巜人妻互换| 91精品综合久久久久久五月丁香| 亚洲综合另类| 五月婷婷丁香综合| 99在线观看视频蜜臀| 久操热线| 99综合成人视频在线观看| 色欲一区二区三区精品A片| 色色无码| 久久久精品色色色| 国产精品国产VA片国产| 色色亚洲无码| 色婷婷丁香五月| 在线视频99| 亚洲久艹| 中文婷婷狠狠| 无码少妇高潮喷水A片免费| 综合网亚洲| 性爱网五月天| 国产精品色色| 天天噜噜| 99久久极情精品一区| 日日懆天天懆| 天天综合天天玩夜夜玩天天玩夜夜玩| 2017狠狠干| 大香蕉伊然在亚洲90| 玖玖爱伊人网| 色色欧美色色色| 99性爱视频| 婷婷丁香五月综合| 可以免费观看的AV| 丁香婷婷色五月天| 天天爽日日搞| 久久黄A片| 人人插9| 婷婷玖玖丁香| 久久无意婷婷| 91人人人人人人人| 丁香五月婷婷老师网站| 影音先锋AV男人站| 久草视频大香蕉99| 成人午夜在线视频| 丁香婷婷五月综合| 婷婷久久免费| 激情综合国产| 91干| 99热99网| 99热这里只有精品98| av在线资源| 五月天第四色开心色播| 国内婷婷丁香社区在线播放| 婷婷丁香五月天综合网| 五月色情婷婷开心五月色情| 婷婷天天插天天爱| 色婷婷五月天成人网| 久久九九大香蕉电院| 开心五月综合| 深爱五月激情| 欧美色色色色色色色色色色| 色欲丁香| 激情综合久久| 久久久久久久久久久久久9| 天天操天天干天天射| 国模九区| 色月丁| 成人AV免费观看| 色婷婷婷av| 99热精品一区| 久久五月综合| 五月婷婷丁香在线| 丁香花五月天激情| 五月婷在线| 九九九激情综合| 91av无码| 超碰99久久| 久热这里只有精品性色AV| 无码 av电影| 婷婷久久色五月婷婷久久久| AV六月丁香| 激情五月婷| 五月婷无码| 久久五月天色| 婷婷五月激情六月| 激情综合五月婷婷| 丁香网五月天| 亭亭玉月丁香| 丁香婷婷人妻| 天天檫天天爽| 视频一二区| 婷婷91| 青青久在线视频免费观看| 婷婷色色宗合网| 噜噜噜狠狠色综| 天天综合五月| 婷婷色综合av| 人妻熟妇国产精品| 99精品丁香五月| 9热视频在线观看| 亚洲激情电影五月天色婷婷丁香一起草| 色五狠狠| 99免费视频网| 久久激情五月| 99re8在这里只有精品| 夜精品无码A片一区二区蜜桃| 大香蕉丁香婷婷| 五月综合久久| 日韩操逼小电影| 碰超99| 狠狠精品干练久久久无码中文字幕| 99热在线看| 久久久久久天天日天天爱| 激情五月,婷婷五月,丁香五月| 久热久| 丁香花狠狠婷婷亚洲中文字幕| 91玖玖| 丁香婷婷色五月天| 综合激情婷婷| 丁香五月婷婷影视先锋| 大香蕉综合网| 婷婷狠狠干| 九九热在线精品| 国产婷婷久久| 婷婷大美在线| 日韩久热| 色综合网页| 丁香五月网络网络| 久久久久久人妻| 六月丁香网| 9热精品| 玖玖资源天天无码| 噜噜噜久久| 丁香密臀AV激情网| 激情小说之五月| 国产日韩欧美性爱| 超碰猛烈的性猛交| 久久黄色网扯| 日韩无码色色| 97婷婷在线| 婷婷香五月| 狠狠干,狠狠操| 色综合久久88色综合天天99| 婷婷丁香成人五月天| 丁香五月色情| www.色色五月天.com| 欧美婷婷色五月网| 人妻操逼| 久操操| 色噜噜五月天| 天天天久久人人人合| 日本精品人妻无码77777| 人妻中文在线| 久9视频免费播放| 超碰av在| 色五月五月丁香| 五月丁香综合激情| 91热99| 九九热精品99| 欧美在线视频9| 久久视频婷婷视频| 国产激情久久| www色色com| 伊人五月婷婷| 伊人玖玖网| 人人摸人人摸| 99情色五月天| 丁香桃色综合网| 九九热在线视频| 欧美va精品va老师va| 色综合婷婷| 国产精品99久久久久久猫咪| 色噜噜狠狠色综无码久久合欧美| 97se在线视频| 五月婷婷综合色啪首页| 久久久国产精品黄毛片| 99精品视频在线6| 99这里| 日本妈妈乱| 五月婷婷av| 五月丁香六月色婷婷综合五月天| 久热这里只有精品视频免费观看| 亚洲激情久久| 亚洲 25P| 国产做爰视频免费播放| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 伊人五月天日日夜夜久久久天天| 五月色网| 另类在线| 99这里有精品| www.激情五月天.com| 婷婷五月天色| 五月丁香婷婷五月色| 久久久99精品免费观看| 亚洲 小说 欧美 激情 另类| 亚洲黄网AV| 天天舔天天摸天天射| 国产五月视频| 久久性爱视频久久性爱视频| 99爱在线| 99视频精品在线| caopeng97人人| 亚洲碰碰碰| 激情久久丁香| 五月激情六月宗合| 丁香五月婷婷深爱综合激情 | 九九热这里有精品23| 久久综合婷婷激情| 深爱五月日韩| 激情AV中文| 99日本黄站| 激情五月丁香婷婷夜夜操| 99热精品在线观看| 天天做 天天爱| 中文字幕五月久久婷婷| 91视频精品99| 精品久久二6| 成人精品视频99在线观看免费| 丁香5月啪啪| 一区二区你懂的| 九九热视频精品2| 国产乱子轮XXX农村| 亚洲第一色网站| 国产一级黄色影片,| 爱婷婷久久视频| 色五月婷婷五月天激情综合| 五月丁香亚洲综合| 夜夜www| 免费在线a| 五月婷婷丁香综合| 狠狠五月天| 狠狠色无码| 婷婷五月在线| 日韩AAAAA| 天天爱天天做天天爽| 日韩综合久| 色色色综合| 亚洲色情网站| 亚洲欧洲一二| 色99视频| 丁香五月综合在线播放 | 婷婷伊人五月|