久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

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 底部寫(xiě)總結(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è)改寫(xiě)話術(shù)就能改變協(xié)作氛圍第二個(gè)改變是話術(shù)。我在團(tuán)隊(duì)里搞過(guò)一次特別小的實(shí)驗(yàn)要求所有人在給評(píng)審意見(jiàn)時(shí)不允許直接下結(jié)論必須用提問(wèn)的方式表達(dá)。比如把你這里寫(xiě)錯(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)在表里寫(xiě)得清清楚楚省下來(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)的修正寫(xiě)出來(lái)給后來(lái)的人排雷。4.1 第一個(gè)坑規(guī)則定得太細(xì)團(tuán)隊(duì)直接放棄抵抗第一版 open-code-review 規(guī)則我寫(xiě)了二十多條從 MR 標(biāo)題格式、提交信息規(guī)范到每個(gè)目錄的職責(zé)邊界全做了約束。執(zhí)行了兩周團(tuán)隊(duì)里的怨氣值肉眼可見(jiàn)地攀升甚至有兩個(gè)同事明確表示這么寫(xiě)代碼不如不寫(xiě)。復(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ì)先寫(xiě)一個(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
返回資訊列表
男人a天堂手机在线版| 福利五区| 日韩精品啪啪啪| 国产激情av女片自拍| 久久亚洲不卡一区二区三区| 免费AV中文网在线观看| 成人性爱视频在线看| 97精品国产精品免费观看| 一牛影视成人片免费| 91麻豆天美传媒在线| 麻豆 欧美 日韩| 国产1024在线播放| 国产性爱欧美性爱在线| 久久艹逼视频| 天天操天天干一区二区| 亚洲激情视频| 97 国产一区| 欧美人妻精品一区二区| 国产精品国产亚洲区艳妇糸列| 午夜呻吟欧美| 色综合色色| 久草精品国产99| 女人的天堂大香蕉网| 人妻一区视频| 亚洲一区二区久久久久| 国产熟女完整版中字| 久久免费少妇| 丰满人妻一区二区三区四区| 欧美天堂第二区| 国产精品久久久视频| av无码精品久久久久| 大香蕉一级黄色片久久| 男人天堂无码| 在线视频一区二区传媒| 天天舔九色婷婷| 九九99久久| 天天干天天舔| 国产综合在线视频网站| 亚洲国产精品99久久久| A级国产欧美激情在线| 免费在线视频97| 国产欧美另类久久久精品课程| 国产超碰欧美| 久久亚洲日韩熟女精品| av东京热男人的天堂| 亚洲欧美setu| 欲色影视综合吧| 熟女视频久久| 激情网五月天| 五月天婷婷基地| 国产免费一区二区三区最新不卡| 久久婷婷色| 精品中文字幕一区二区l - 百度| 欧美成人A√在线一区二区| 67914在线兔费成人视频| 99色在线观看| 中文字幕精品人妻丝袜| 国产成人精品一区| 99re在线视频国产| 另类专区加勒比| 欧美专区17页| 国产精品精品系列在线观看| 国产野战露脸在线播放| 国产高潮AA片免费看| 国产精品亚洲天堂网址| 秋霞欧美性爰视频| 91在线欧色| 亚洲人在线| 中文字幕国产精品1区| 欧美极度丰满熟妇hd| 国产AV毛片| 亚洲精品国产专区在线观看| 999久久久精品国产| 99操视频| 日逼五月天| 最新9久久久9免费视频| 淫荡网址| 久久草在线综合视频| 嗯嗯嗯好爽| 欧美在线l亚洲| 97频视在线| 97超级久久| 色香综合| 91人妻做a观看视频| 欧美日韩国产在线| 天操老女人| 国色综合天| 天天操夜夜嗨| 亚洲色吧网| 亚洲性猛| 啊v在线观看视频| 强奸乱伦AV网址| 五月婷婷无码| 日本 情色 1区2区3区| 久久婷婷电影网| 久久亚洲精品成人av| 久久久久9| 国产免费一区| 自拍偷拍国产欧美日韩韩| 九九久久精品| 久久久久久久综合,国产| 91无码人妻精品一区二区三区蜜桃| A一区片| 男女性感激情网站| 蜜桃久久精品一区二区三区| 超碰99在线| 三级特黄60分钟播放| 大香蕉宗合网在线| 中英熟女操女| 91操人| 熟女激情综合网| Julia在线播放亚洲久久| 久久久久国产| 狼狼色丁香久久婷婷综合五月| 国产欧美日韩女同性恋ww喷水精品| 午夜精品久久久久久久99| 欧美精品69性爱| 黄片无码在线制服| 久草色悠悠在线视频| 久久久久久久9| 日韩免费高清大片在线| 区一二区日韩亚洲乱码av电影| 欧美啪啪色吧在线| 亚洲色五月| 欧美激情 亚洲色图| 无码日韩人妻av一| 精品制服美女中文一区二区三区| 91人妻Pr| 超碰99在线| 精品久热| 亚州一区二区| 九九九九九九免费视频| 国产欧美日韩女同性恋ww喷水精品| 91高清欧美| 伊人久久艹| 欧美 亚洲| 久久天天摸| 欧美极品美女aaaaaa级黄片| SS久久| 亚洲国产麻豆一区二区三区 | 丝袜天堂网| 9久在线视频只有精品| 香蕉一区二区三区在线视频| 2019久久久久久久久福利| 国产精品秘 福利姬在线观看| 日本肉体xxxx裸交| 日韩精品99久久久久久中文字幕 | 97天天| 大香交伊人网| 日韩无码视频黄色| 精品久久艹| 久久‘黄片视频| 色与欲影视天天看综合网| 99热综合| 精品妇操一区二区三区| 亚洲操逼网| 久久久无码视频| 亚洲天堂自拍| 91操碰| 性色av大全| 亚洲精品1区| 91GD.COM| 囯戸精品高潮呻吟旡码| 超碰在线1234区| 男人的天堂啪啪啪啪啪蜜桃不卡| 国产精品久久久久无码A√| 老鸭窝成人| 五月香婷婷| 在线观看不卡一区二区三区| 好爽免费视频| 91美女小视频| 九九九九九九九| 精品99999久久久久久| 国产精品蜜乳AV| 加勒比综合| 久久亚洲av成人无码国产| 欧美激情久操网| 丝袜狂射91| 97网址www| 人妻一区二区三区四区视频| 免费99精品国产自在在线| 一道本久久棕合爱| 精品一区二区亚洲国产| 国产一区二区a毛片| 综合亚洲欧美| 天天综合站| 上床不卡网站| 97人人中文网| 亚洲色图 欧美热图 清纯唯美 另类自拍 | julia在线观看久久| 欧美成va视频网站| 激情小说成人日本无码一| 肏逼视频日本| 欧美A片中文字幕| 天天综合~91| 国产后入| 天天拍夜夜| 校园激情狠狠四射| 欧美日韩少妇色情| 日韩欧美被操黄免费观看| 97亚洲性爱| 一区二区激情国产熟女| 中文字幕 码 自拍 视频 区| 日本免费一区二| 2020中文字幕| 任我爽视频在线观看| 密桃99999| 亚洲少妇色| 五月天激情综合网| 亚洲少妇色| 久久久99久9| 色色色色色色色色色色色色色色综合| 深夜国产一区二区三区在线看| 天天看精品动漫视频一区| 电家庭影院午夜69久久夜色精品国产69乱 | 翔田千里AV无码秘 三区| 丰满人妻-区二区三区免费看| 九九九国产精品| 97亚洲国产| 国产免费一区| 一二区在线观看视频| 久久久精品九| 日韩情色一区二区| 啪啪性爱免费视频| 午夜超爽| 一区二区乱码福利| 亚洲日韩美国人妻| 日本3级一区二区免费| 亚洲欧美中文日韩视频中国语| 日韩激情啪啪| 91蜜臀在线久久久久| 一区久久久二区| 99 国产丝袜在线| 五月天欧美色图| 亚洲中文丝袜美腿诱惑字幕| 久久大黄片| 久久久99免费| 国产欧美一区二区| 中文字幕精品亚洲熟女| 久久久久夜夜夜夜| 91人妻中文| 色五月综合| 亚洲熟女国产综合另类| 色婷婷淫色网| 伊人网高清| 日日操免费视频| 人妻aa| 亚洲国产第一页综合视频| 天天综和| 91精品国产一区三一| 综合av社区| 凸凹视频在线观看| 偷拍片久久| 亚洲欧美首页| 强奸乱伦麻豆| 日本天堂网| 欧美黑人91| 久久精品一区二区一8| 亚洲第一精品在线视频| 欧美久久久15P| 91成人亚洲色图| 天美传媒婬乱| 色99视频| 日韩欧亚中文在线| 在线观看不卡一区二区三区| 校园春色综合| 熟妇一区二区| 少妇滛荡视频| 91老妇女| 亚洲毛片一级带毛片基地| 亚洲日本成人动漫| 亚洲a色| 欧美色性爱| 爱干爱射网啊啊啊| 91亚州| 日本九九九九| 中文字幕伊人| 日韩 欧美 视频 在线 一区| 超碰97网址| 999综合网| 色色五月天激情| 97视频新免费| 欧美性爱www免费版| 一区麻豆 高清中文字幕| 久久97视频| 97任你吞精| 伊人伊人LD| 欧美性爱第一页久久| 97爱免费插| 天天欧美| 超碰79人人乐| 久久精品| 狠插 制服 自拍| 久久久无码视频| 久热这里| 啊啊啊想要| 91亚·色| 丁香婷婷五月| 看黑丝美女操逼青青网站| 日本韩高清无砖码22o| 97爱免费插| 人人性爱视频免费| 中出后入| 国产激情片在线观看| 亚州高清AV| 亚洲经典啪啪| 久久精品店| 五月天丁香欧洲日韩| 亚洲色图 欧美| 台欧久久精品视频| 精品久久久久久无码| 国产盗摄美女如厕大神作品在线观看| 少妇啪啪自拍| 久9综合在线| 成功精品影院| 青青操综合网| 9久9久| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 色婷婷电影网| 免费观看成人www精品视频| 色爱综合网欧美| 亚洲欧美自拍偷拍| 清纯唯美第一页| 东京日日夜夜| 国产精品宅男免费| 亚州综合| 91中文字幕在线观看| 发朗少妇买婬全视频中文| 九九热AV| 中文欧丝袜诱惑| 亚洲高潮少妇| 在线一道啪| 青青草原av| 97网址www| 韩日性爱av| 性色aV一区二区三区噜噜| 中国黑人三级片网站上区| 色综合久久88色综合久久天天| 东京热综合久久一区二区| 蜜奶av| 天天干天天狼在线视频| 国产色产精品在线观看| 天天天做天天天爱天天天爽| 久久精9| 99热婷婷| 草草网站影院白丝内射| 加勒比海色香蕉婷婷| 欧美天堂超碰97| 猛交交| 蜜乳av首页| 韩三级a视频在线观看| 97中文综合| 国产成人AV麻豆| 天天做天天爽| 夜夜影视四色| 免费无码国产精品v片在线观看| 人妻熟女一区二区三区视频| 国产情色第一第二页在线观看| 亚洲男人天堂2019| 久草视频分类在线| 伊人五月天激情| 免费观看网黄| 久久久久久久九九九九九九| 超碰97亚洲| 色路综合| 97久久超碰亚洲| 久久↗↗| 日韩国产九九精品一区二区三区毛片| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 黑人在线91| 懂色av中文字幕一区二区三区天美| 麻豆60秒| 日本一区三级韩国| 美女黄色一级A视频| 激情综合网五月婷婷| 搡老女人老妇女AAA一VU麻豆 | 日韩精品三区四区| 天天影视色香色欲| 麻豆AV一区二区| 狠狠躁AV| 97超级欧美| 日本一区99| 二对二中文字幕。| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 手机在线视频国内精品| 乱伦AVxx| 亚洲一区中文字幕一区| 亚洲福利中文字幕在线| 在线国产一区二区av| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 看大黄色大片原件| 全球成人中文在线| 婷婷综合视频| 日韩伦理久 久久 清纯| 亚洲中文字幕乱码无码一区二区| 五月天久久婷婷亚洲| 骚逼一区二区| 免费视频观看60秒| 97精品一区二区视频| 欧美乱伦专区| 欧美精品99久久久**| 超碰成人公开| 免费观看啪视频| 亚洲 日本 一 二 三| 人妻碰碰碰碰碰碰| 天天夜夜久久| 国产自偷| 综合97| 粉嫩av平台| 国产99精品一区二区三区免费| 亚洲免费成人在线高清无码视频 | 四季AV一区二区凹凸精品小说| 超碰免费欧美7| 欧美色道啊| 特污精品女优骚货黄色视频在线免费观看| 亚洲天堂一区| xxx0国产在线播放| 日韩在线AB| 校园春色中文字幕AV| 欧美亚洲在线| 国产精品美女久久久久AⅤ国产馆| 久久亚洲AV无码专区首页| 久久女婷| 亚洲精品 欧美精品| 亚洲国产日韩精品久久久| 人人看黄色视频| 无码精品人妻一区二区三区妖精| 99欧美| 九九九久久久久| 蜜桃传媒视频第一区入口在线看| 人妻精品视频一区二区三区| 操比国产| 偷拍片久久| 久久狠狠色噜噜狠狠狠狠97| 亚洲四虎熟女精品| 91美女视频在线| 97在线/亚洲| 超碰色男人操熟女| 欧美黄页在线| 亚洲玖玖爱| 色屁屁影院www国产| 99久久久无码国产精品性男| 欧美 青青草| 中文字幕乱妇免费视频| 爆操无码| 人妻少妇色综合| 日韩精品人妻| 丁香五月激情五月| 男人的天堂三级| av在线播放国产一区| 人人色97| 欧美东京热青青草| av九九| 久久久久幕乱码| 天天激情综合站| 欧美三级不卡| 午夜小电影在线插入淫高潮| 久久久999日本大片| 色狠狠一区二区三区香蕉| 中日亚韩免费视频| 做爱福利视频一区二区| 国产乱伦亚洲| 伊人网在线观看| 夜夜草天天| 久久本道| 91av熟女人妻| 大吊色| 香蕉国产精品麻豆亚洲欧美日韩| 国产精品一二三免费网站| 国产激情在线| 韩国久久97| 啊v在线观看视频| 亚洲综合另类| 色吧91| 福利风月五月天影院| 探花视频免费观看国产专区| ss久久| 夜草网站| 一区| 777奇米影视777四色| 亚洲女人毛茸茸91| 99热官网| 亚洲一区日韩精品中文字幕| 日韩精品人妻中文字幕久久久| 免费日韩黄片| 国产91专区| 久久这里只精品99re66图| 夜夜久久久| 亚洲午夜免费狠狠干| 91啪啪| 国产性刺激| 777琪琪午夜免费A片| 亚洲 综合 第一页| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 日韩啪啪啪啪啪| 日韩欧美亚洲自拍偷拍| 人妻人妻天天碰| 日韩激情啪啪| 九九九九热| 九九九久久久久| 极品美女福利在线观看| 男人的天堂久久久| 日日黄色三级网站| 一区二区三区机械有限公司| 中文字幕三四区| 东京热熟女亚洲视频网站| 日欧操屄视频| 内射老妇BBWX0C0CK| 国产和美国毛片| 精品区9| 国产一区二区三区视频在线看| 亚洲人人夜夜澡人人爽| 久久久久久中文字幕中文字幕最新| 日韩激情毛片一级久久久| 怡红院亚洲怡春院av| 97人妻色| 人妻精品一区二区在线| 人人搞人人插人人操| 热的中文 热的有码 热的国产| 天天干天天插| 日欧亚洲二三区大片不卡| 夜色综合| 国产日韩中文字幕欧美| 欧美成人色| 欧美|91色综合| 最近2019中文字幕国语免费版| 蜜臀久久99精品久久久久久无删减 | 久久久影院| 无码日韩网站| 成人a大片在线观看| 蜜臀久久99精品久久久久久无删减 | 日日夜夜精品视频| 欧美在线亚洲| 日韩中文9| 丁香五月天久久精品视频一区二区三区| 久操精品网| 国产女人极品高潮毛片| 成人免费性爱视视| 91九九| 一本色道久久综合精品婷婷| 午夜操操操| 日韩欧美偷拍美女视频| 麻豆精品A片免费观看| 天天综合91在线| 这里都是精品在线观看| 亚洲第2页| 久久精品日韩| 在线看的av| 亚洲欧洲日本精品中文a∨| 亚洲丝袜诱惑| 久久久久九九九九| 91视频综合网| 放黄片放3级黄片没穿衣服| 久久、1234| 女人18精品一区二区三区| 在线精品福利免费播放| 亚洲熟女乱综合一区二区三区| 操少妇很爽av| 色噜噜综合在线| 激情丁香五月婷婷| 91操人| 五月丁香六月婷综合成人综合 | 亚洲一二三精品久久网| 强上我不卡卡| 韩国女主播青草在线| 大香蕉99热| 香港成人一级视频在线青青草| 99久久无色码| 韩国女主播青草在线| 天天日天天射天天干| 天天夜夜久久| 夜色97| 亚洲双插| 久久精品一区二区一8| 成年无码动漫av片无尽在线 | 久久久9品一区二区三区| 熟妇高潮一区二区免费视频| 99re69综合| 97在线青| 国产在线激情| 国产强奸乱伦无码视频| 日韩性爱人人爱人人操| 成人福利视频网| 天天日天天爽| 麻豆AV短剧| 久操| 亚洲福利影院一区久久| 国产自产自拍| 99热精品在线观看| 天天天天天天天天综合| 精品国产乱码久久久影院| 99国产精品| 一级@啪啪视频| 美女被艹尤物视频| 国精品一区二区三| 婷婷激情五月综合| 97色碰| 探花在线免费观看视频国产一区| 91九九| 嗯嗯啊啊视频一区二区三区| 日本三级精品| 亚洲AV无码翔田千里网站| 99在线观看| 日本一天色道久久久精品视频| 又黄又硬又粗又长国产视频| 欧美传媒| 婷婷尹人大香蕉免费| 亚码人妻| 日本色色色网站免费看不卡| 国产色呦呦| 密臀在线免费观看| 美女好片色日本| av网站在线观看了| 大香蕉在线视频15| 欧美综合综合| 黄色一区二区秘书性感| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 素人伊尹大香蕉免费下载视频| 无码不卡亚洲成?人片| 免费综合亚洲中文| 香蕉免费一区二区三区不读| 色综合国产在线观看| 五月丁香综合啪啪| 亚洲区限制级 99| 黄人人操人人操| 精品少妇一区二区三区免费观看| 少妇久久久免费| 无码人妻精品一区二区中文| 好湿好紧好爽 视频| 99re99在线视频| 一本一道波多野毛片中文在线| 伊人大香蕉在线| 91精品国产一区三一| 日本中文字幕在线视频| 欧洲精品欧洲精品| 老司机老司机午夜影院| 夜夜福利| 99国产在线 精品 视频| 草伊人高潮喷水超碰| 日韩综合无码一区久久92| 蜜臀国产AV中文字幕| 欧美熟妇精品黑人巨大91| 亚洲AV成人无码一区二区三区在线观看| 97色涩| 人人操肉肉| se,,,亚洲欧美| 韩国手机不卡无码三级视频| 美女淫穴| 韩国一级婬片A片无码天美| 欧美一二在线| 无码外流操逼视频| 久久久99999久网站| 中国一级操逼视频| 亚洲drav色图| 99久久精品国产高潮| 蜜桃午夜视频一区二区 | 2017天天操天天日| 97自拍视频在线| 久热这里只有精品9| 亚洲另类在线观看| 91色交| 97久久精品亚洲中六字幕| 精品人妻一区二区三区四区石在线 | 欧美色图亚洲特色| 波多野42部无码喷潮在线观看 | 18禁看网站一区| 大香伊人在线一区| 26uuu性物| 日本国产二线女色| caorenqi shipin| 欧美人体性爱互联网第一页婷婷日本| 中文字幕在在线观看网站| 黄视频免费| 性九九九九九九| 成人看片网站| 13小男生GAY自慰脱裤子| 激情视频一二三| 亚洲成人久久美女| 亚洲97| 九九国产| 色97| 国产精品婬乱一级毛片彝族| 亚洲人妻五月丁香婷婷| 男人干美女| 精品黑人一区二区| 91搡老女人老妇女老熟女歌词翻译| 久久亚洲熟妇在线视频| 欧美一级黄片免费播放| 少妇综合| 国产91丝袜在线播放蜜月| 色噜噜综合在线| www.久久最新地址| 亚洲精品99999| 9精品久久| 日本三级久| 欧美人妻精品一区二区| 在线观看中文字幕| 久9久9久9久9久9久9| 午夜福利久久久噜久噜久久综合| 欧美熟女操屄| 韩国免费播放一级毛片| 97操97干| 99蜜桃臀亚洲成人在线观看| 亚洲成人av色网| 国产精品自在线发布| 欧美组图日韩亚洲中文字幕| 在线电影亚洲色图| 91av天美性媒精品视频| 91狠狠色丁香婷婷综合久久| 国产熟女完整版中字| 免费精品无码一级毛片牛牛影视| 爱丝福利| 亚州日韩97| 国产精品肉丝自拍| 伊人色综合网| 國產尤物AV尤物在線觀看| AV乱伦专区| 精品国产乱码久久久A| 91日日夜夜| 艳尻美人妻| 欧美日韩m| 六月丁丁香| 国产精品视频精品一二| 亚洲色图日韩精品| 神马久久久久久伦理片| 日韩黄色片子| 日韩成人私密一级精品av| 女生久久网| 精品人妻一区二区三区免费视频| 超碰伊人在线| 日本欧美m v精品网站加| 欧美亚洲一区二区久久久婷精品大包诱| 午夜天堂精品久久久久91| 欧美成人黄网色网站| 中国少妇XXXX做受| 人妻中文字幕精品无码| 狠狠操官网| 午夜操逼不卡| 成人a级高清视频在线观看| 中国操逼无码| 日韩无码操逼片| 国产一区二区三区白丝| 伊人五月天婷婷| 奇米四色网| 国产精品熟女九色九色蜜臀| 曰韩精品视频一区二区| 国产啊v在线免费播放| 久久无码成人| 国产精品探花在线| 亚洲成人久久美女| 婷婷色导航| 久久久婷婷| 精品精品精品| 自拍盗摄一区| 偷拍2020| 日本精品加勒比海一区| 欧美日韩另类激情图片| 放黄片放3级黄片没穿衣服| 成年无码动漫av片无尽在线| 免费看片黄| 国产自产自拍| 欧美成va视频网站| 亚欧精品久久久久久久久久久| 精品国产嫩穴视频| 亚洲激情色片 | 日韩在线一区二区| 国产一区二区三区精品观看啪| 激情五月天视频| 91xingse| 中文字幕AV片| 久久丝袜| 国产家庭乱伦性爱视频| 久久精品国产96精品亚洲拳交| 国产激情片在线观看| 懂色AV一区二区三区| 操香逼| 热热色国产一二区AV| 丰满人妻一区二区三区四区| 国产女s强制榨精视频| 91艹B视频| 另类图片五月天| 久久做97| 欧美中日韩XXXX| 欧美一区二区三区互相| 最新日韩黄片| 欧美 青青草| 人妻少妇无码| 1769国内精品视频| 丁香五月色情| 精品久久大胆人体| 97爱综合| 欧美精品久久久久久久久88| 亚洲AO在线| 91天美免费| 秋霞成人做爱| 亚洲天堂人妻一区二区| 麻豆黄站| 欧美日韩午夜精品一区二区三区 | 日本九九久久99播| 日韩91网| 日韩亚洲中文字幕在线| 中文字幕国产精品1区| 国产吹潮女在线观看| a片自拍直播视频| 激情五月综合| 99re在线精品78| 伊人影院日本| 狠狠综合网| 欧美色图小说综合| 天天躁日日躁xxxxx| 美日韩一卡二卡三卡免费人妻精品| 爱丝福利| 无码高清专| 美女AV一区二区| 国产肏逼网站| 久操九九九九| 99夜夜操| 久久久激情| 成人资源中文字幕在线观看| 亚洲自拍天堂| 久久一二三四五六七八九区区| 日日超碰亚洲| 国产少妇肉丝在线观看| 深夜激情| 免費黃色視頻觀看一| AV色五月天| 操操逼操操逼操操逼逼| www.高清无码诱惑一区.com| 天堂69亚洲精品中文字| 91久青| 久久天堂| 日韩伦理视频| 98人妻精品一区二区色欲| 国产蜜臀精品一区免费尤物| 色香AV| 精品久久久久,69国产成人精| 亚洲交性| 激情一区二区三区在线观看| 天天日天天看| 999久久久精品国产| 免费在线视频97| 九九这里只有精品| 葡萄牙性视频一二区| www.夜夜操| 好吊色综合| 久久久久久性爱片| 妇女性内射冈站HDWWWCOM| 熟女中出视频| 亚州免费啪啪视频| 呻吟 欧美 日本 中出| 免费看欧美美女黄色大片| 97超碰色中文字幕| 超碰免费人人| 亚洲欧洲激情卡通另类文学四射小说网站 | 熟妇乱伦一区二区| 99操| 国产浮力影院第1页| 久久超碰天天| 亚洲 综合 欧美| 天天射天天操天天干天天吃2018| 人人澡综合涩| 图片区小说区| 91性感在线| 99国产在线绯色一区| 亚洲一区二区三区中文字幕| 精品久操| 欧美嗯啊……在线观看视频免费| 高清无码久操视频| 精人妻无码一区二区三区伊人直播| HEYZO高无码国产精品227| 床戏久久久av一区二区麻豆| 91逼逼女人91| 久久精品中文字幕无码l| 日韩欧视频| 欧美第38页| 熟女突然公开看18禁影片 | 国产玖玖| 性爱视频无打码在线观看| 亚洲亚洲亚洲天堂天堂 | 亚洲AV无码秘 蜜桃臀国精产品| 啊啊啊快操我视频| 国产成人网站在线观看| 日韩一级久久毛片| 91碰碰| 久久99国产综合精品女同| 噜噜噜在线视频| 麻豆成人影音在线| 啊啊啊要高潮了| 人妻少妇精品一区二区三区| 亚洲欧洲综合成人av一区| 天天操天天舔| 超碰欧美在线欧美| 69精品少妇一区二区三区蜜桃| 天天草夜夜草高潮片| 99av| 舔舔啊| 色五月第四色| 欧美综合自拍成人自拍第二十页| 香蕉久久AⅤ...| 97爱| 麻豆av一区二区| 97精品中文字幕| 欧美美女在线高潮999| 欧美日韩999| 秋霞久久亚洲精品成人| 亚洲成人激情小说视频| 91色欧美| 国产精品3| WWW.加勒比人妻一区不卡.com| 女优视频第10页| www.色婷婷色综合| 国产极品美女高潮无套在线观看| 欧美成人免费在线观看| 少妇天堂| 快播久久人人aV| 操逼短片| 青青青艹在线视频| 青娱乐大香蕉| 亚洲丝袜天堂| 在线啊啊啊啊| 日韩99神马视频播放片在线播放| 大香蕉AV在线| www色色com| 国产农村一一级特黄毛片| 温婉少妇玩3p| 欧美日韩精品一区二区三区高清| 亚洲精品乱码线路中文字幕| 无码高清操逼| 亚洲国产精品无码AV久久| 亚洲丝袜综合| 一区二区影视| 亚洲丝袜综合| 国产一区在线播放| 五十路熟女人妻一区二区三区四区五| 狠久久| 一级AAA片一区二区三区| 91热色| 欧美瑟综合| 91在线观看,天天综合| 亚洲欧美综合网| 好爽视频在线观看| 综合97| 欧美v亚洲v综合v国产v妖精| 三级日韩一区二区三区| 乱伦一二三区| 黄色电影在线播放综合网站| 亚洲天堂一区二区久久| 手机在线中文字幕国产| 国模艳艳啪啪一区| 极品美女福利在线观看| 国模少妇一区二区三区| 久久久九九网站| 99色色网| 青青草吊丝| 欧美大片一区二区三区| 精品少妇人妻一区二区三区| 日韩AV噜噜噜一区二区三区四区| 亚洲Av诱惑| 沈阳熟女高潮对白视频| 久久亚洲欧美中文字幕国语| 亚洲图片欧洲图片aⅴ| 丁香五月综合| 97干在线看| jiujiujiujingpin| 97欧美日韩精品| 1区2区3区视频| ji熟女.com| 久久久 国产精品| 国产精品交换一区二区| 99热导航| 后入合集| 日韩免费福利在线观看| 日本人人操人人操| 97九色人妻| 九九九九九精品十六| 天天肏夜夜肏| 一区操逼| 九九色热| 久久超碰98| 极品色综合| 国产高清精品一区二区三区毛片| 国产尹人在线视频免费| 嗯嗯啊啊操死我| 亚洲脚交| 亚洲黄色视频在线观看视频| 九九综合久久| 裸模AV女优| 亚洲第一页色网| 亚洲图片日本AⅤ欧美在线| 久久99精品视频| 9热9热综合网| 国产蜜臀精品一区二区尤物| 強姦亂倫a| 色色国产| 欧美偷偷网| CCYY草草影院地址入口| 亚洲操逼网| 欧美熟妇亚洲版| 蜜臀久久99精品久久久久久无删减 | 97亚洲一区| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 中文字幕神马久久| 色吧 综合| 2018色综合天天操| 天堂涩涩| 日韩人妻一区二区| 97人人干| 亚洲男人天堂2| 国内偷自视频区视频综合| 一本一道人妻久久一区二区三区 | 啊啊啊在线观看免费视频| 2017天天插| 激情接吻视频久久久久久| 天天舔九色婷婷| 日本成a人v网站在线观看| 超碰成人免费| 欧美综合狠| 无码av永久免费专区网站| 欧美综合色站| 97爱爱爱| 日韩另类色图| 综合亚洲欧美| 色999五月色| 欧美色图自拍| 九月丁香综合网| 一本一首道人妻少妇免费久久| 91欧洲国产成人久久精品网站| 日日干日日| 日骚逼视频| 欧美色图天堂在线| 这里都是精品| 激情小说五月天| 91热| 亚洲天堂,男人| 九九九九精| 日产狠狠干| 青青青青操国内视频在线| 九九AV| 好涩综合| 黑丝内射一区二区三区| 精品国产乱码久久久A| 这里有精品| 999精品久久久久久久| 久久久精品国产亚洲伊人| 久久精品熟妇丰满人妻99| 亚洲熟妇极品| 中文字幕一区二区视频在线观看| 九九热男人天堂| 激情黄色片在线观看| 成人综合网 欧美| 日本三级一区二区 在线| 精品一久久久| 国内毛片婷婷六月色| 欧美日韩美女精品久草一区二区三区| 无码WWW免费视频网站| 欧美日韩97在线| 99综合| 伊人国产成人av网站| 另类亚洲图色| www.久久最新地址| 日本免费二区三区| 精品国产乱码久久久久久影片| 中国一级αV| m欧洲一级午老| 人人妻人人狠人人| 久久在肏| 欧美高潮在线| 东亚亚洲无码高清| 亚洲色电影在线| 亚洲国产一级中文综合久久天堂在线免费观看 | 欧美色www亚洲国产阿娇要播| 天天α片| 国产高清无码一区二区三区四区皇冠| 上床啊啊啊| 少妇毛片久久| 久草网站免费在线观看| 啊啊啊啊免费视频| 97香蕉人人乳| 日本国产成人亚洲精品无码| av中亚| 亚洲欧美综合网站| oumeisetu综合| 久久久久久日韩| 9久久精品| 中文字幕精品久久久久人妻红杏ⅰ| 亚洲天堂热| 免费少妇一区二区| 色约约一区=区三区| 日韩人妻无码精品系列| 久久九九综合| 变态乱伦伪娘灌肠一区二区| 国产免费小视频| 蜜桃精品视频一区| 91无码中出人妻视频| 色在线亚洲视频www| 国产AV中文| 欧美 综合 亚洲| 亚洲色图在线视频| 色乱二区| 亚洲成人精品在线一区| 深爱伊人影院| 亚州久久9| 欧美熟女少妇| 超碰人人超在线观看| 麻豆视频国产一区二区| 91N综合网| 国产第二页| 久久超碰亚洲人| 日日夜夜天天| 久久一区二区三区入口| 亚洲性爱电影| 伊人天天久久动态图| 欧美综合色图片| 内射黑丝袜| 激情文学欧美| 超碰久久性爱| 97人人草| 蜜乳AV色欲AVAV无码| 午夜福利av电影在线| 色欲天天婬色婬香WWW夜色| sewuyueav| 天堂亚洲精品| 国产超碰欧美| 欧美 综合 亚洲| 嗯嗯,好大,好爽,好骚| 精品国产网站| 日韩三级久久久| a网站免费观看| 99操逼| 久久这里只精品99re66图| 两性色网| 日韩欧美aⅴ综合网站发布| se吧提供国产乱老熟视频胖女人| 91黑人狂躁丰满熟妇| 综合久久99| 人妻91少妇| 国产999精品久久久| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 色综合20p| 欧美一区二区成人一卡| 亚欧中文字幕在线视频| 蜜奶av| 99青青草国产视频| 天天弄欧美| 日韩精品人妻中文字幕有码午| 亚洲欧洲小说图片视频 | 欧美日韩少妇色情| 亚洲免费97免费| 日韩美女高潮喷水视频| 黄资源| 亚洲国产成人精品久久久国产成人一区二区 | 午夜精品久久999热蜜桃介男人用| AV高清一区| 欧美婷婷久久| 欧美少妇高潮久久91| 黄色片G G G| 久久影视二区三区行押| 成人情色综合网| 国产精品一区在线播放| 久久精品区|