国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲AV片高清资源在线观看_国模无码一区二区三区久久_国产成年人未进视频_中文字幕无码精品夜_一区二区三区在线视频免费看_亚洲成AV人片在线观看网址_日本激情视频高清综合久久_亚洲午夜视频福利_国内大量揄拍人妻精品視_久久国产精品福利二区三区

ARTICLE DETAIL

資訊詳情

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

開放式代碼評審實(shí)踐:從走形式到高效協(xié)作的完整指南

開放式代碼評審實(shí)踐:從走形式到高效協(xié)作的完整指南 先說一個背景去年年初我們團(tuán)隊(duì)內(nèi)部做了一次“評審質(zhì)量復(fù)盤”結(jié)果不太好看——上線前緊急Code Review的比例占了將近三成真正在開發(fā)周期內(nèi)完成的評審不到一半而評審意見里“格式、命名、注釋”這類瑣碎問題又占了大多數(shù)。我當(dāng)時的感受是代碼評審這件事很多團(tuán)隊(duì)不是沒有做而是做得“不開放”——評審范圍封閉、結(jié)論不透明、反饋鏈路斷續(xù)最后變成了一個走形式的環(huán)節(jié)。所以后來我花了幾個月時間把“open-code-review”這套東西在我們內(nèi)部搭了起來效果比預(yù)期好不少這篇文章就把整個過程、思路和踩過的坑完整寫出來。不管你是技術(shù)負(fù)責(zé)人、一線開發(fā)者還是想改進(jìn)協(xié)作流程的DevOps這篇內(nèi)容都應(yīng)該能給你一些可直接落地的參考。1. 為什么我堅(jiān)持要做“開放式代碼評審”1.1 傳統(tǒng)評審模式的問題評審是“門禁”不是“溝通”我在前兩家公司參與過幾次代碼評審流程改造最常見的模式是開發(fā)完代碼丟給另外一個同事或者小組長對方花半小時看一遍有意見就提沒意見就合。這個模式看起來沒毛病但實(shí)際操作中出現(xiàn)的問題很典型。第一個問題是評審對象局限在“最終改動”上。評審人看到的只有Git提交里的差異卻不了解這段代碼的演進(jìn)過程、為什么這樣設(shè)計(jì)、有哪些被否決的備選方案。于是評審意見經(jīng)常集中在“這里少了個空格”“函數(shù)改名更清楚”這些表層問題上真正的架構(gòu)風(fēng)險(xiǎn)、并發(fā)隱患反而被錯過了。第二個問題是評審結(jié)論不透明。評審人的判定標(biāo)準(zhǔn)、權(quán)衡過程全部留在評審人腦子里開發(fā)者只得到一個“通過”或“打回”的結(jié)果。下次遇到類似問題開發(fā)者依舊不知道怎么改才算“好”評審人自己也很難說清楚自己的標(biāo)準(zhǔn)到底是什么。第三個問題是評審覆蓋面太窄。在很多團(tuán)隊(duì)里一個改動通常只有一兩個“被指定的評審人”看其他人即使有興趣、有想法也因?yàn)榱鞒躺蠜]有入口而被排除在外。新人尤其吃虧——他們往往是代碼的潛在使用方但如果不在評審名單里就只能等合并之后才知道接口變了線上出問題再回頭排查?!伴_放式”這幾個字核心價值就是要把評審從“門禁”變成一個“協(xié)作過程”評審對象從最終差異擴(kuò)展到完整上下文評審人從一兩個擴(kuò)展到一個可參與的群體評審結(jié)論從口頭/單個評論變成結(jié)構(gòu)化的、可追溯的記錄。1.2 我的目標(biāo)讓評審成為知識流通的載體我做open-code-review不打算發(fā)明一套全新的理論而是想把業(yè)界已經(jīng)驗(yàn)證的工程實(shí)踐組合起來讓它們在我們團(tuán)隊(duì)里真正運(yùn)轉(zhuǎn)。要達(dá)到三個具體目標(biāo)第一個是早參與。評審不應(yīng)該等到代碼寫完才啟動而應(yīng)該在設(shè)計(jì)階段就暴露意圖讓相關(guān)人員同步信息。第二個是廣覆蓋。保持“誰都可以評論、評論必須被回應(yīng)”的機(jī)制讓一線同學(xué)、上下游協(xié)作方都能參與評審質(zhì)量自然提升。第三個是完全留痕。每個評審的結(jié)論、理由、采納過程都沉淀下來成為團(tuán)隊(duì)的知識資產(chǎn)。新人看歷史評審記錄比看文檔更能理解團(tuán)隊(duì)的“為什么”。從實(shí)際效果看這套機(jī)制跑了一年后我們緊急評審比例從30%降到了8%左右評審中發(fā)現(xiàn)的邏輯性缺陷數(shù)量上升瑣碎風(fēng)格類意見下降到了20%。更重要的是團(tuán)隊(duì)里好幾個原來不愛說話的初級工程師在開放的評審氛圍里逐漸敢提意見了上下游配合的質(zhì)量也明顯好了很多。2. 核心設(shè)計(jì)思路評審流程的“四個開放”2.1 過程開放從“只看結(jié)果”到“全程可見”我在設(shè)計(jì)之初就明確了一個理念評審的單元不是“代碼差異”而是“改動故事”。所謂故事就是從一個想法、一個Issue、一個設(shè)計(jì)方案到代碼實(shí)現(xiàn)再到驗(yàn)證的全部過程。為了實(shí)現(xiàn)這個理念我們?yōu)槊總€評審對象建立了獨(dú)立的工作流分支分支的起點(diǎn)是一個詳細(xì)的設(shè)計(jì)說明文檔。開發(fā)者需要在這個文檔里回答幾個問題要解決什么問題為什么選擇這個方案有沒有考慮過其他方案改動會影響哪些模塊風(fēng)險(xiǎn)點(diǎn)在哪里這樣做的好處是我在評審代碼差異之前可以先評審思路。很多重大的設(shè)計(jì)偏差在最早期就能被發(fā)現(xiàn)而不是等到幾千行代碼寫完才發(fā)現(xiàn)走錯路了。評審的過程也不只是“評論”這一種形式。我的流程里包含了設(shè)計(jì)評審針對思路、增量評審按提交逐個看、總結(jié)評審針對完整改動三個階段。每一階段都有對應(yīng)的操作規(guī)范盡可能覆蓋不同角色、不同視角的需求。注意過程開放不等于“過程繁瑣”。設(shè)計(jì)說明文檔控制在1頁以內(nèi)要求寫清楚核心決策不要求寫長篇小說式的背景介紹。否則開發(fā)者的抵觸情緒會很強(qiáng)。2.2 參與開放打破“評審人由Leader指定”的默認(rèn)邏輯大多數(shù)團(tuán)隊(duì)的評審人都是“管理者指定的”這樣做容易讓評審變成一種任務(wù)攤派評審人在沒有上下文的情況下就被通知過來看代碼很難給出有價值的反饋。我改為“主動認(rèn)領(lǐng)自動建議”的機(jī)制。每個改動提交后系統(tǒng)會自動根據(jù)改動文件的歷史貢獻(xiàn)者去匹配潛在評審人同時把這個改動廣播到團(tuán)隊(duì)的公開渠道里任何人都可以進(jìn)來看、來給意見。不需要誰的批準(zhǔn)也不需要額外的權(quán)限。這個設(shè)計(jì)本質(zhì)上是對“專家評審”和“大眾評審”的融合。自動建議解決的是“必須有熟手把關(guān)”的問題而公開廣播解決的是“群體智慧接入”的問題。讓我舉個具體例子有一次一位資深工程師改動了一個核心模塊的緩存策略自動匹配的評審人只有一位從前寫過這塊代碼的老同事。但因?yàn)榱鞒淌枪_的剛?cè)肼毴齻€月的新人恰好這段時間在研究緩存一致性就主動進(jìn)來提了一個關(guān)于“分布式鎖超時時間設(shè)置”的問題結(jié)果還真讓團(tuán)隊(duì)發(fā)現(xiàn)了舊代碼里的一個隱患。這種效果在封閉評審模式里幾乎不可能出現(xiàn)。2.3 反饋開放每一條評論都要有歸宿這是我在整個方案里體會最深的一點(diǎn)開放評審最大的敵人不是“沒人評論”而是“評論了沒人理”。如果評論發(fā)出后石沉大海參與過兩次的人就不會再來了。我們立了一條硬性規(guī)則評審中的每一條評論必須有一個明確的回應(yīng)——要么說明“會改原因是什么”要么說明“不改原因是為什么”。這個回應(yīng)要在對應(yīng)的評審會話里明示不允許線下私聊解決。如果評論被采納要關(guān)聯(lián)到對應(yīng)的提交如果評論沒被采納要標(biāo)記“won‘t fix”并說明理由。在這條規(guī)則的推動下評審的質(zhì)量發(fā)生了明顯變化。開發(fā)者會更認(rèn)真地對待每一條意見而不是敷衍地回復(fù)“好的收到”評審人因?yàn)橹雷约旱囊庖姇艿秸J(rèn)真對待也更愿意給出有深度的反饋。我們還建立了定期復(fù)盤機(jī)制每個迭代末把未采納的意見拿出來過一遍看看有沒有“綜合討論后反而發(fā)現(xiàn)評審意見才是對”的情況為后續(xù)決策積累經(jīng)驗(yàn)。2.4 數(shù)據(jù)開放用度量來驅(qū)動改進(jìn)關(guān)于代碼評審數(shù)據(jù)度量我的觀點(diǎn)是不要拿來做績效考核要拿來做過程改進(jìn)。所以我們只采集四類數(shù)據(jù)評審時長提交到首次響應(yīng)的時間、評審覆蓋度實(shí)際參與的評審人數(shù)量與建議匹配數(shù)的比例、評論回應(yīng)率得到明確回應(yīng)的比例、評審結(jié)論分布通過/需要修改的比例。這些數(shù)據(jù)按周、按月生成趨勢在團(tuán)隊(duì)內(nèi)部公開。公開數(shù)據(jù)的目的不是為了評比誰好誰壞而是讓團(tuán)隊(duì)看到流程的薄弱環(huán)節(jié)。比如某個月我們發(fā)現(xiàn)“評審時長”還是偏長拆開數(shù)據(jù)一分析發(fā)現(xiàn)主要瓶頸是部分模塊匹配不到合適評審人于是我們調(diào)整了技術(shù)棧培訓(xùn)和模塊知識地圖。這個改進(jìn)就是靠數(shù)據(jù)看出來的靠直覺很難定位。3. 實(shí)操過程一步步搭建open-code-review工作流3.1 工具選型沒有萬能工具只有合適組合我的工具選型原則很簡單優(yōu)先用團(tuán)隊(duì)已經(jīng)在用的工具減少額外的切換成本。我們團(tuán)隊(duì)技術(shù)棧是服務(wù)端為主、前端為輔日常托管在Git平臺支持Merge Request、Webhook、自動檢查那就沒必要引入一套新的評審系統(tǒng)。核心選型如下評審主流程Git平臺的Merge RequestMR功能提供討論、行內(nèi)評論、多輪提交等基礎(chǔ)能力評審在這里完成。設(shè)計(jì)文檔用純文本的Markdown文件放在倉庫里的/docs/design目錄下評審時直接引用鏈接。這樣設(shè)計(jì)文檔和代碼天然關(guān)聯(lián)版本也一起走。自動化輔助檢查用靜態(tài)分析工具比如SonarQube跑規(guī)則集把“格式、缺陷、安全漏洞”這類低價值人工評論過濾掉用CI流水線跑測試覆蓋率把覆蓋率變化情況掛在MR上。通知與協(xié)作工具Webhook把MR變更廣播到即時消息群里關(guān)鍵節(jié)點(diǎn)有新的評審意見、評審?fù)ㄟ^、有評論需要回應(yīng)同步通知保證溝通的“及時性”。這里要給新手一個建議工具的關(guān)鍵是“少而夠用”。不要在一開始就追求自動標(biāo)注、AI建議、依賴圖譜分析等高級能力先把基礎(chǔ)流程跑順等到數(shù)據(jù)告訴你瓶頸在哪里再針對性地補(bǔ)強(qiáng)。3.2 評審清單把“好代碼”的標(biāo)準(zhǔn)顯性化為了讓評審標(biāo)準(zhǔn)不再是個人感覺我梳理了一份代碼評審清單掛在倉庫的CONTRIBUTING.md里MR模板也會自動引用。清單分成四層檢查維度具體檢查點(diǎn)正確性邏輯是否符合需求描述邊界條件是否處理并發(fā)場景是否有競態(tài)架構(gòu)一致性改動是否符合模塊邊界有沒有引入不必要的耦合擴(kuò)展性是否充??删S護(hù)性命名是否有業(yè)務(wù)含義函數(shù)職責(zé)是否單一異常處理是否合理可測試性是否有關(guān)鍵單測測試是否覆蓋了核心分支覆蓋率變化是否可接受這份清單不是給開發(fā)者“交作業(yè)”用的而是評審人發(fā)起評審時的參考框架。在新流程落地的前幾周我要求每位評審人在提交評審意見前對照清單自查一次避免抓小放大。值得一提的是這份清單不是一次定死的。每個季度我們會根據(jù)團(tuán)隊(duì)的實(shí)際案例做一次修訂——把近期線上故障的根因分析結(jié)果轉(zhuǎn)化為新的清單檢查點(diǎn)。比如有一陣子redis緩存穿透引發(fā)問題清單里就新增了“緩存失效/重建策略說明”這一檢查項(xiàng)。3.3 分支策略與MR模板規(guī)范從入口開始我們采用的分支策略是功能分支主分支保護(hù)。所有改動都必須在獨(dú)立分支上開發(fā)向主分支發(fā)起MR。主分支設(shè)置規(guī)則至少2個批準(zhǔn)approve、所有對話必須解決、CI必須通過才允許合并。MR描述模板塊是這樣的## 背景 本改動要解決什么問題關(guān)聯(lián)的Issue鏈接 ## 方案設(shè)計(jì) 為什么采用這個方案關(guān)鍵取舍是什么 ## 影響范圍 涉及哪些模塊、接口、數(shù)據(jù)表是否有兼容性影響 ## 測試計(jì)劃 單元測試覆蓋情況、聯(lián)調(diào)情況、需要重點(diǎn)驗(yàn)證的風(fēng)險(xiǎn)點(diǎn) ## 自我檢查清單 - [ ] 代碼滿足評審清單中的正確性要求 - [ ] 新增代碼有配套測試 - [ ] 文檔如需要已同步更新 - [ ] 改動范圍與MR描述一致這個模板看起來簡單但強(qiáng)制性地逼開發(fā)者在提交代碼前想清楚“為什么”等于把一部分評審前置到了開發(fā)階段。還有一個實(shí)操細(xì)節(jié)MR的名稱規(guī)范。我們要求MR名稱格式為“[類型] 簡要描述”類型包括feat、fix、refactor、docs、test、chore。這樣做的目的是讓評審者掃一眼列表就能感知變更的性質(zhì)快速排序優(yōu)先級同時也方便后人檢索歷史變更。3.4 評審輪次從“一次終審”到“多輪漸進(jìn)”我經(jīng)歷了從“一口氣終審”到“多輪漸進(jìn)”的轉(zhuǎn)變。以前代碼寫完后一次性提一個大MR請求評審幾千行改動堆在一個diff里評審人根本看不進(jìn)去只能靠抽簽式瀏覽效果很差。多輪漸進(jìn)的做法是按邏輯提交為單位分批Review。開發(fā)者在功能分支上每完成一個邏輯獨(dú)立的提交比如“添加數(shù)據(jù)庫遷移腳本”“實(shí)現(xiàn)訂單服務(wù)接口”“補(bǔ)充對應(yīng)測試”就發(fā)起一次增量評審。舉個例子如果某個功能要改動5個核心文件我不要求開發(fā)者一口氣交完而是建議第一輪提交設(shè)計(jì)文檔、接口定義、數(shù)據(jù)模型變更請求設(shè)計(jì)評審。第二輪提交核心邏輯實(shí)現(xiàn)附帶單元測試請求邏輯評審。第三輪提交剩余的非核心改動如配置、文檔、樣式完成整體通讀。每一輪MR的描述里都要注明“本MR依賴上一個MR”評審人在上下文連貫的情況下看代碼效果完全不同。這里要補(bǔ)充一個“防呆設(shè)計(jì)”我們在流程上加了一個硬性要求MR合并前必須由開發(fā)者本人做一次“自評”在描述里列出自己認(rèn)為的3個風(fēng)險(xiǎn)點(diǎn)和測試結(jié)果。如果自評缺失CI里會自動檢查并阻止合并。這個機(jī)制倒逼開發(fā)者自己做一次全面審視很多低級的空指針、拼寫錯誤都是在自評階段被發(fā)現(xiàn)的。3.5 自動化檢查配置讓機(jī)器先做“體力活”配置自動化檢查時我踩過一個很大的坑把所有規(guī)則全打開結(jié)果每次MR都帶著上百條warning開發(fā)者評審疲勞自動化檢查很快就形同虛設(shè)。后來我的配置策略變成了“三步走”第一步是分類。把靜態(tài)分析規(guī)則分成A類明確缺陷如空指針風(fēng)險(xiǎn)、資源泄漏、SQL注入、并發(fā)誤用和B類風(fēng)格建議如變量命名、魔法數(shù)字、冗余括號。第二步是分級。A類規(guī)則設(shè)置成CI阻斷項(xiàng)一旦觸發(fā)合并直接被阻止B類規(guī)則只提示不阻斷標(biāo)注為“Suggestion”。第三步是存量放行。歷史代碼中已有的風(fēng)格問題不做強(qiáng)制整改只要求新增代碼不引入新的B類問題。通過對比分析工具只對新增代碼做檢查存量問題趨勢圖保持平穩(wěn)即可。具體的靜態(tài)分析工具配置片段如下以配置文件為例團(tuán)隊(duì)用的SonarQubesonar.javascript.lcov.reportPathscoverage/lcov.info sonar.javascript.exclusions**/dist/**,**/node_modules/**,**/test/unit/specs/** sonar.sourceEncodingUTF-8 sonar.exclusions**/migrations/**,**/docs/**測試覆蓋率我們設(shè)置了一條“軟線”核心模塊覆蓋率不低于80%非核心模塊不低于60%不達(dá)標(biāo)時CI會給出標(biāo)記但不直接阻斷合并。這樣做是給團(tuán)隊(duì)留出緩沖避免為了湊覆蓋率而寫無意義的斷言代碼。4. 常見問題與排查技巧實(shí)錄4.1 “評審流于形式評論敷衍”怎么破不少人反饋雖然流程跑起來了但意見還是一些“感覺不太對你再看看”“這里建議改一下”這類泛泛而談。這個問題我在前兩個月特別頭疼后來發(fā)現(xiàn)病根在反饋閉環(huán)不夠硬。我調(diào)整了兩處一是上線了“評論分類”機(jī)制每條評論必須選擇類型邏輯缺陷、架構(gòu)建議、風(fēng)格問題、測試缺失、疑問咨詢二是把“疑問咨詢”類評論的處理方式單獨(dú)約束——如果開發(fā)者看完代碼也回答不了就必須發(fā)起線下討論并把結(jié)論補(bǔ)錄到評論里。分類機(jī)制配合數(shù)據(jù)統(tǒng)計(jì)之后每個評審人的意見質(zhì)量就比較清晰地呈現(xiàn)出來了。如果某位評審連續(xù)多次幾乎全是風(fēng)格類意見我在一對一時會跟他聊聊是不是對業(yè)務(wù)邏輯理解不夠順便給他一些背景文檔。這不是考核而是幫助他提升。還有一個行之有效的手段輪換評審搭檔。我讓后端同事偶爾去評前端的MR前端同事評后端的MR。領(lǐng)域不同反而更容易跳出“思維定式”問出一些業(yè)務(wù)邏輯上的“蠢問題”這些“蠢問題”往往正是需求模糊地帶。4.2 “代碼量大、時間緊”怎么保證評審質(zhì)量這個問題的本質(zhì)是“流程適應(yīng)不了現(xiàn)實(shí)”。我以前也有過“今天必須要上線評審走個形式算了”的想法但后來發(fā)現(xiàn)真正出問題的往往就是這種趕著上線的改動。我采取的方案是“按風(fēng)險(xiǎn)分層評審”。MR創(chuàng)建時可以自選風(fēng)險(xiǎn)等級A級高風(fēng)險(xiǎn)涉及流水、資金、核心服務(wù)、公共接口變更、B級中風(fēng)險(xiǎn)涉及核心業(yè)務(wù)邏輯但不跨團(tuán)隊(duì)、C級低風(fēng)險(xiǎn)如非核心頁面調(diào)整、純配置變化、文案修改。不同風(fēng)險(xiǎn)等級對應(yīng)不同的評審人數(shù)和流程要求A級評審要求指定至少兩名高級評審人并要求做一次線下設(shè)計(jì)走查C級則可以簡化只需一人review且無需走完整討論周期。這個策略實(shí)施后團(tuán)隊(duì)不再感覺所有評審都是同一個重量級。把寶貴的評審精力的杠桿集中在高價值區(qū)域既保證了關(guān)鍵時刻的質(zhì)量也減輕了日常流程的疲勞感。4.3 “新人不敢提意見”的引導(dǎo)方式新人不敢提意見不是流程能直接解決的需要一些機(jī)制上的輔助。我的做法是設(shè)立“新手圍欄期”機(jī)制新人入職的前兩個月要求每周必須參與至少一個非自己負(fù)責(zé)的MR評審哪怕只是提一個“疑問咨詢”類問題在每周的全員總結(jié)會里由資深工程師現(xiàn)場示范如何解讀這個疑問。舉個例子團(tuán)隊(duì)里一位剛畢業(yè)的A同學(xué)在前三周幾乎沒在評審里發(fā)過言。后來有次一個高并發(fā)場景的改動他認(rèn)真看了之后問了一句這里為什么用樂觀鎖而不是悲觀鎖如果沖突率高不是會有很多重試嗎這個問題其實(shí)問到了點(diǎn)子上。資深工程師在總結(jié)會上重點(diǎn)表揚(yáng)了這種“敢于從基本問題出發(fā)追問”的評審態(tài)度從那以后A同學(xué)在評審里明顯活躍了起來提問質(zhì)量也越來越高。這樣做還有一個附加收益新人被迫去讀非自己開發(fā)的代碼對系統(tǒng)整體架構(gòu)的理解速度比單純寫業(yè)務(wù)代碼快得多。多位帶過新人的同事都反饋用這種辦法培養(yǎng)出來的新人上手期比以前縮短了不少。4.4 歷史遺留代碼評審難怎么辦存量代碼的問題是它不符合新定下來的規(guī)范但你又不能停下來全部重構(gòu)。如果硬性要求存量代碼也通過嚴(yán)格評審那團(tuán)隊(duì)永遠(yuǎn)在還舊債項(xiàng)目永遠(yuǎn)沒法推進(jìn)。我的原則是存量不追溯新增不欠賬觸碰必處理。如果一個存量模塊因?yàn)樾滦枨笠恍薷哪敲葱薷纳婕暗哪遣糠执a必須順帶做一次“衛(wèi)生處理”——至少把直接相關(guān)的代碼清理到符合清單標(biāo)準(zhǔn)如果只是純新增則新增部分必須完全合規(guī)周圍原有的亂代碼暫時不動但記錄在技術(shù)債務(wù)清單里。這里分享一個小實(shí)踐我們會為“觸碰存量代碼”設(shè)置一個單獨(dú)的標(biāo)記前綴[TECDEBT]在MR描述里注明“本次改動觸碰了存量X模塊的YYYY段已按規(guī)范部分清理剩余債務(wù)記錄在xxxIssue”讓評審人能區(qū)分“新增問題”和“存量問題”評審時聚焦在本次實(shí)際改動上。長期下來技術(shù)債務(wù)清單里的條目不斷減少。5. 從流程到文化讓開放式評審真正融入團(tuán)隊(duì)5.1 把評審當(dāng)作“學(xué)習(xí)場景”而不是“檢查場景”方便起見先用一句話概括我的觀察如果代碼評審只是檢查錯誤那么它是零和游戲——開發(fā)者被打了板子評審人出了力團(tuán)隊(duì)其實(shí)沒有變強(qiáng)但是如果評審是共同研究怎么做得更好那每次評審都是團(tuán)隊(duì)知識的增益。我在落地過程中有意把“學(xué)習(xí)場景”這個屬性強(qiáng)化。具體做法是每周安排一次固定的“評審案例分析”分享會任何人可以從本周的歷史評審記錄里挑一個典型案例講出“當(dāng)時為什么這樣提、后來怎么解決的、背后的原理是什么”。這個環(huán)節(jié)本質(zhì)是把隱性知識顯性化。優(yōu)秀評審意見評選。每季度投票選出季度最佳評審意見獲獎的往往是那種“發(fā)現(xiàn)一個隱患并提出一個優(yōu)雅規(guī)避方案”的意見。獎勵不必重公開表揚(yáng)本身就有很強(qiáng)的導(dǎo)向作用。5.2 作者自身也要有“評審意識”有一點(diǎn)容易被忽略代碼評審不只是“被審”的過程更是“自審”的練習(xí)。如果開發(fā)者始終依賴別人的審查來發(fā)現(xiàn)自己的問題那成長速度會慢很多。我在團(tuán)隊(duì)里分享過一個我自己常用的方法“雙人模式自檢”。在提交MR之前先做一次“開發(fā)者模式”的檢查——跑測試、檢查日志、看輸出是否符合預(yù)期然后“切換角色”到“評審者模式”——想象自己是第一次看到這段代碼的陌生人能不能只看代碼就理解意圖、發(fā)現(xiàn)潛在的邊界問題。這個思維切換只需要10到15分鐘但它能顯著提升提交質(zhì)量。很多開發(fā)者在學(xué)會“自審”后自己提的MR一次性就能通過較高級別的評審標(biāo)準(zhǔn)。5.3 開放評審的兩個邊界不要為了開放而開放我雖然一直強(qiáng)調(diào)開放但我也要客觀地承認(rèn)“開放不是萬能的”。在兩個場景下嚴(yán)格的封閉式評審反而更合適第一個是安全問題。涉及密鑰管理、漏洞修復(fù)等安全敏感改動的評審必須嚴(yán)格控制評審范圍甚至需要單獨(dú)的鑒權(quán)流程。我在流程里增加了“安全MR”的特殊通道不廣播到公共渠道評審人由安全負(fù)責(zé)人指定MR描述里不做細(xì)節(jié)披露。第二個是有爭議的大規(guī)模重構(gòu)。當(dāng)改動會顛覆現(xiàn)有架構(gòu)、影響所有開發(fā)者時類似“誰都可以評論”的開放機(jī)制會導(dǎo)致意見極度分散反而拖延決策。我的處理方式是將這類重構(gòu)拆成“決策評審”和“落地評審”兩個階段。決策評審邀請核心架構(gòu)組成員參與達(dá)成共識后再進(jìn)入公開的落地評審階段討論核心結(jié)論避免無意義的反復(fù)拉扯。5.4 設(shè)置退出機(jī)制和反饋機(jī)制人都是有惰性的任何一種流程如果長時間不變也會慢慢退化。我在季度回顧里專門設(shè)立了一個“流程負(fù)反饋”環(huán)節(jié)任何人都可以提出“哪些流程步驟可以刪掉”“哪條規(guī)則現(xiàn)在只增加負(fù)擔(dān)沒有價值”。舉一個已經(jīng)執(zhí)行的例子最初我們的MR模板里有一項(xiàng)是填寫“改動涉及的日志是否已清理”這個檢查項(xiàng)在老的日志框架下很有用但后來換用了新的統(tǒng)一日志框架日志管理已經(jīng)自動化這個人工檢查項(xiàng)就變成了純添堵。于是根據(jù)一位工程效率組同事的反饋把它從模板中移除了。先移除再觀察影響后續(xù)未出現(xiàn)問題說明這個決策是正確的。開放式的流程文化也意味著流程本身可以隨團(tuán)隊(duì)的需求演化這是我做這套方案很認(rèn)可的一點(diǎn)。6. 推薦的擴(kuò)展方向與長期演進(jìn)6.1 從代碼評審擴(kuò)展到設(shè)計(jì)評審把“開放評審”的理念從代碼層面提升到設(shè)計(jì)層面是我后期最想推進(jìn)的一件事。設(shè)計(jì)文檔評審Draft RFC其實(shí)是開放的代碼評審的自然延伸——你先用一頁紙描述你的設(shè)計(jì)丟到團(tuán)隊(duì)頻道里邀請所有人評論然后根據(jù)反饋迭代。這樣等到寫代碼的時候最困難的設(shè)計(jì)問題已經(jīng)提前解決了大半。實(shí)施這個擴(kuò)展有一個額外需要留意的點(diǎn)設(shè)計(jì)評審的對象是結(jié)論尚未固化的想法所以溝通口徑上更強(qiáng)調(diào)“這是初稿請大家提想法”而不是“這是我的方案請批準(zhǔn)”。氛圍不對的話很容易變成答辯會。6.2 讓AI輔助評審成為“第四位評審人”在寫這篇文章的現(xiàn)階段我們團(tuán)隊(duì)已經(jīng)開始嘗試引入基于大模型的代碼評審助手把它作為自動化的另一層補(bǔ)充。它主要做兩類事情第一類是語義級檢查——比如識別“修改了排序邏輯但沒有同步更新對應(yīng)注釋”“函數(shù)方法簽名改變了但調(diào)用處漏改”這類人工容易漏掉的問題第二類是生成“差異摘要”讓評審人看一眼摘要就能定位改動的重點(diǎn)區(qū)域不用自己在一大堆diff里翻找。這里要提醒一下AI助手的定位是“輔助手段”不是權(quán)威。它的意見和人的意見同樣需要被遵循“評論必須有回應(yīng)”的規(guī)則遇到它出現(xiàn)誤判時我們會在評論里標(biāo)記“AI誤判”積累數(shù)據(jù)也反向推動了模型效果的調(diào)整。6.3 跨團(tuán)隊(duì)評審探索我們團(tuán)隊(duì)與另兩個兄弟團(tuán)隊(duì)的接口協(xié)作比較多。以前跨團(tuán)隊(duì)聯(lián)調(diào)時接口設(shè)計(jì)文檔經(jīng)常來回扯皮效率很低。后來我把open-code-review的做法推到了接口評審上每個跨團(tuán)隊(duì)接口的變更都要在協(xié)作group里發(fā)起“接口評審MR”至少包含接口定義、調(diào)用方影響分析、兼容性說明。評論開放給兩個團(tuán)隊(duì)的技術(shù)成員分歧盡量在上線前解決。這個做法運(yùn)行了半年聯(lián)調(diào)階段的“接口理解偏差”類缺陷下降了將近一半。如果有讀者所在的團(tuán)隊(duì)正在經(jīng)歷多團(tuán)隊(duì)協(xié)作頻繁扯皮我強(qiáng)烈建議試一試。7. 一些個人體會做了快一年的開放式評審改造我最大的體會是代碼評審的本質(zhì)不是在“挑毛病”而是“集合團(tuán)隊(duì)的認(rèn)知來逼近問題的最優(yōu)解”。把一個改動暴露在足夠多的、不同背景的視角下提前發(fā)現(xiàn)問題遠(yuǎn)比事后出了問題再開追責(zé)會劃得來。流程設(shè)計(jì)上我始終堅(jiān)持一點(diǎn)規(guī)則要服務(wù)于人而不是人去服務(wù)于規(guī)則。每一條評審約束都要能給出“它保護(hù)了什么”的回答如果給不出這條約束就不該存在。定期放手去刪減規(guī)則和定期增加同等重要。最后再分享一個讓我欣慰的小細(xì)節(jié)有一周團(tuán)隊(duì)的新人主動在公開渠道提了一個跨模塊的評論建議把兩個服務(wù)間一個不穩(wěn)定的異步通知機(jī)制改成同步查詢重試機(jī)制理由和權(quán)衡寫得很清楚。那一刻我知道開放評審這件事真正在團(tuán)隊(duì)里扎下根了——它已經(jīng)不是一個流程負(fù)擔(dān)而是大家默認(rèn)的工作方式。希望這篇文章里的思路和踩坑記錄也能幫你把評審打造成真正對團(tuán)隊(duì)有價值的機(jī)制。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
玖玖久久久| 成片免费播放| 午夜精品久久久久| 91丨熟女丨丰满熟女| 好爽要喷了| 一类无码操逼视频| 999综合网| 欧美熟女丝袜| 嫩草 人人网精品| 欧美精品23| 亚洲宅男天堂| 亚洲色 国产 欧美 日韩| 午夜噜噜噜| 久久仑合| 人妻日日干| 久久久草草精品| 蜜桃久久综合视频| 99精品久久| 人妻无一区二区三区| 夜精品久无码| 67914在线精品观看| 天堂中文日本在线观看| 日韩熟女无码| 女同性恋中文字幕| 国产精品久久久久亚洲av| 日本一二三免费久久| 春色校园综合网| 天天日天天插| 91黑人无码激情在线| 天天日天天干天天色| 黄色工厂这里只有精品| 亚洲男人天堂2013| 五月天久久婷婷亚洲 | 视频黄色国产一级| 日韩成人性日韩成人性爱视频在线免费观看| 国产精品久久久久久久久久久久久久久久 | 99啪| 精品.99999| 秋霞视频一区二区 | 天天日天天爽| 色九九综合| 欧美日韩操逼动图| 日韩欧美经典在线观看| 成人性爱全视频观看| 国产亚洲日韩在线三区黑人| 三级三级三级a级全黄三| 亚洲国产精品成人综合| 亚洲精品国产日韩无码AV永久免 | 国产亚洲色婷婷久久99精品91葵花宝典| 伊人操你| 国产欧美日韩臀| 十八禁网站在线| 无码99| 精品黑人一区二区| 蜜臀少妇一区二区| 久久久禁| 亚洲风情综合网| 午夜操一视频一区| 日韩av在线精品观看| 日躁天天爽爽| 欧美一区二区三区互相| av在线不卡一区二区三区| 99这里只有精品国产| 天天色,天天干,天天干| 在线无码操| 欧美成人一级免费电影| 一起草AV| 啊啊啊97视频| 欧美亚洲涩涩| 日本加勒比无码专区| 欧美偷拍| 天天操人人操狠狠插| 亚洲成aⅴ人片不卡无码| 日本性感人妻91| 国产一进一出视频网站| 免费看久久久性性| 99爱爱| 偷窥自拍亚洲| 男女啊啊啊啊啊| 国产AAAAAABBBBB| 国产亚洲日本精品在线| 久久嫩草国产成人一区| 日本天堂在线播放| 亚洲 中文 女同| 美女91在线观看| 男人天堂久久精品不卡| 91色图| 久久肏大逼| 超碰人人草| 美女的肌被草喷水视频| 国产日韩中文字幕欧美| 欧洲黄色网| 欧美日韩性爱无码| 激情五月综合网| 亚洲色欲一区二区三区| 日本久久久久久久久久| 91精品无码人妻系列| 色蜜AV| 九九人妻| 新久久AV| 久久熟妇五十路一区| 中文字幕无码不卡啪啪| 国产亚洲日韩欧| 五月色网| 一级黄碟| 超碰97人妻免费在线| 日亚韩精品视频二区三| 英伦大奶子熟妇吊带| 97综合久第一页| 9国产超碰| 夜夜嗨一区二区| 欧洲精品久久| 欧美一区二区日韩三区| 中文字幕78| 91九九| 久久久九| 精品人妻一区二区三区在| 免费视频在线一区二区不卡| 中文字幕在在线观看网站| 一本久久久精品| av在线一区二区三区| 草伊人高潮喷水超碰| 日本韩国五十路六十路七十路老熟女作爱视频网站 | 六十路日本| 国产一区在线观看无码AV| 亚洲欧美一区二区三区一猛片| 人妻少妇蜜桃视频欧美一区| 怡春院久久| 69精品久久久久中文字幕| 天天日天天射天天干| 亚洲欧美另类图片| 人妻嗯啊啊在线播放| 亚洲,欧美,综合网| 久久久五月天| 欧美综合传媒| 日本欧美中文字幕| 口爆吞精在线观看| 久偷拍欧美日韩三区| 美女91av| 精品小视频在线| 久久国产乱子伦精品免费女,网站| 久热99| 人妻少妇久久| 91社区拍啪人妻| 丝袜av一区二区三区| 色吧5亚洲| 富二代亚洲精品99| 欧美片第一页| 德国一二三不卡| 视频一区二区三区精品| 美女露胸露屁股| 高清无码国产亚洲| 大香蕉视频啪啪啪啪| 91精品黄在线观看| 久久97精品久久久久久久不卡| 亚洲乱码国产乱码精网站| 超碰免费欧美7| 日本亚洲熟女视频| 亚洲丝袜诱惑| 精品97久久| 欧美九9 9 9| 综合亚洲欧美| 神马久久久久眼| 免费观看网黄| 亚洲 欧美 日韩另类 麻豆| 久9视频| 亚洲精品人体| 国产精品久久久999| 中文乱码字字幕在线第5页| 久久男人网| www.av在线观看| 五月天婷婷社区| 国产怡红院| 人干人人人操人人摸| 国产9熟妇视频网站| av凤凰久久久| 性爱综合一区二区| 亚洲猛交| 日韩不卡网操逼中文字幕日韩| 国产精品无码论坛| 免费久久一级毛片大黄| 超碰78| 日韩色女精品| 精品99999| 97视频620| 欧美亚洲日韩人妻在线观看| 国产精品一区二区三区,亚洲综合| 蜜桃久久一区| 成人黄页| 精品96久久| 婷婷中文网| a片自拍直播视频| 人人爽夜夜玩视频| 欧美久久婷婷| 91色噜噜狠狠| 天天欧美欧美亚洲网| 人人看欧美性爱| 91丝袜在线播放| 97视频免费在线| 嗯啊啊啊轻点视频| 99精品无码| www成人啪啪18秘 免费| 操逼片国产| 日韩 国产 欧美自拍| KK色在线影院| 久久久久久99999国产精品| 91偷拍欧美亚洲| 久青草影院| 日韩乱插| 吉川爱美亚洲二区在线 | 婷婷亚洲天堂| 亚洲精品日日夜夜52| 亚洲色欧美| 97超碰欧美精品| 蜜桃午夜视频一区二区| www. 男人天堂成人在线| 日本最新免费韩国1区2区视频播放| 欧美毛片在线网| 五月婷婷六月色| 一起草精品人妻| 国产无码久久高清| 狠狠色伊人亚洲综合网站色| 日韩操p| 国产精品懂色tv影视免费观看| 中国和日本人色哪个不下载能放| 偷拍在线观看视频| 中文字幕女同在线| 蜜臀色乳| 亚洲、日韩、综合、另类| 小草精彩毛片| 欧美v日韩欧亚洲电影天堂色诱,国产传媒| 欧美九九爱| 中文字幕第页| 国产25页| 91中文字幕在线观看| WWW美腿丝袜香蕉中文| 久操影视| 欧美色视| 无码高清操逼网址| 加勒比在线视频一区二区三区| 伊人丁香五月婷婷| 自拍偷拍 高清无码| 五月天婷精品激情| 国产一区二区三区中文字幕| 夜夜夜夜夜夜夜夜夜狠狠狠狠狠狠狠| 校园春色中文字幕AV| 老司机午夜精品福利视频一区二区| 激情五月天校园春色网| 91丝袜人妻| 国产一区二区免费福利片| 99老司机精品视频在线观看| 日韩精彩免费| 亚州人妻| 久久97超碰香蕉| 色天堂在线观看| 日韩精品国模| 亚洲自拍97| 日本黄色精品专区网站| 这里都是精品在线观看| 91蜜臀熟女| 91麻豆一二三区| 91老妇女| 99视频这有这里有精品| 色999五月色| 色好看av| 老司机福利社视频在线观看| 色婷婷国产精品一区在线观看| 95自拍视频在线观看| 日韩性爱网址| 亚洲中文字幕乱码无码一区二区| xxx亚洲午夜天堂| 久久久啊啊啊| 久久人妻| 影音先锋乱| 欧美少妇熟女| 夜夜国自区| 毛片久久| 啊啊啊啊嗯嗯嗯用力好爽 | 天天操夜夜操狠很操| 精品国产肉丝袜在线拍国语| 十八禁黄色成人网站观看| a啊啊啊啊啊啊啊啊一区二区| 亚洲天堂,男人| 亚洲熟久久| 91人人| 日韩中文字幕在线视频观看| 日韩 成人 有码| 免费试看60秒| 99视频只有精品| 超碰97在线色男人??| 无码人妻精品酒店| 亚洲中文字幕噜噜噜久久久| 欧洲一区二区三区免费| 亚洲 暴爽 AV人人爽日日碰| 欧美国产伊人久久久久| 欧美91久久久久| 9丨亚洲一区二区在线| 久久久久免费少妇| 99re这里只有| 午夜久久一区二区无码中出| 国产综合日韩伦理| 亚洲天堂色图| 色哟哟精品1精品2| 不卡免费av在线播放| 一品道视频一区二区三区| 99热国产| 午夜精品视频777| 欧美伊人电影| 超碰在线人妻不卡| 天天色怡春院| 全球成人中文在线| 久久一区,青青青青草视频在线播放| 在线无码操| 强奸乱伦Av网| 96精品久久久久久久久久| 国产福利精品最新在线| 99久在线精品99re8| 亚洲综合精品国产一区| 熟女高潮精品一区二区| 日韩av乱伦| 国产白丝网站| 麻豆 欧美 日韩| 久久色精品视频在线| 欧美午夜视频精品久久| 老司机香蕉久久久久| 婷婷久久五月| 综合夜夜| 蜜臀久久99精品| 99夜夜操| 午夜福利在线视频1000| 狠狠色噜噜狠狠狠狠狠色综合久久 | 97精品第3页| 久久五十路熟女人妻| 男人的天堂在线| 十八禁啪啦拍视频无遮挡| 黑人精品欧美一区二区蜜桃| 欧美色图天堂网m| 欧美强奸乱| 91成人亚洲色图| 精品久久久久久亚洲| 男人天堂网址| 好爽要喷了| 人妻AV在线| 中文伊人大香蕉视频| 国产精品久久久吖| 亚拍在线| 色妹子A V| 无套内射人妻在线播放| 大香蕉综合网| 老熟妇一区二区三区啪啪| 久久久免费一级黄片| 91狠狠| 茄子社区国产精品| 天天弄欧美| 免费操逼视频下载| 精品一级毛片在线观看| 欧美肥臀在线| 美女AV一区二区| 激情五月综合| 青椒国产97在线熟女| 91亚洲图片| 91扒丝袜综合在线| 久久丁香五月天| 一本色道久久天天射天天干| 午夜噜噜噜| 啊啊啊97视频| 麻豆蜜桃视频在线观看| 三级片网站在线播放| 香伊人在线| 97超级色碰碰| 黑丝日韩av丝袜av| 超碰狠狠操| 国产精品久久久久久久黄无码| 精品99999| 国产一二三福利视频网| 日产123区精品免费观看| 91九久| 探花激情视频| 日韩中文字幕视频在线观看| 亚洲中文国际强奸字幕| 久久久国产av美女私房| 按摩中文字幕| 大奶啊啊好爽 | 久草新免费| 伊人五月天青青草婷婷| 无码欧美有限公司| 成人AV素股で擦久久| 丁香六月婷婷| 久久免费精彩视频| 97操操| 久热9| 亚洲高清无码免费观看视频| 综合欧美日本三级| 麻豆国产免费影片| 欧美精品1区2区3区| 免费一级精品啪啪视频| 中国一级特黄大片护士| 久热在线精品免费观看| ji熟女.com| 日韩av不卡在线看| AV网站高清无码在线观看| 午夜精品久久久久久久久久蜜桃 | 国产亚洲 中文欧美久久| 日本三级韩三级99久久| 日韩另类色图| 人妻美腿丝袜制服诱惑综合天堂-| 久草久热| 97色涩| 久久久专区| 色偷偷超碰亚洲| 激情情色五月天| 亚欧美无遮挡| 91精品老女人| 成人av性爱电影在线观看| 亚洲欧洲无码bt精品合集| 人妻无一区二区三区| 日韩精品一区二区人人人| 夜色91| 欧在线一二区| 国产兽交视频在线播放| 国产情色第一第二页在线观看| 日本黄色裸日本黄色裸体| 人人操人人射人人干| 成人热久久精品| 屁股久久久久久久久| 色约约一区=区三区| 91n欧美| 亚洲图片婷婷五月天| 福利在线黄片| 精品久久久久,69国产成人精| 欧美图片偷拍| 亚州 综合 色图| 亚洲 欧美 日本 国内 首页| 国内偷拍精品一区二区| 亚洲成人一区二区精品| 色久桃花影院在线观看| 少妇超碰在线| 亚热日本熟女| 色爱天堂| 国产精品久久久久久久久久梁医生| 亚洲精品人妻在线| 91 丝袜在线| 97精品视频在线播放| 国产熟女精品一区二区| 欧州一区二区三区四区| 亚洲激情AV| 极品粉嫩少妇视频| av天堂电影网| 丁香五月激情综合国产| 久操操| 超碰九7免费| 欧美综合娱乐久久| 日本精品人妻少妇一区二区| 天天久久久久久| 91视频伊人| 激情综合五月婷婷| 97天天插| 国产成人无码啪| 97人妻色| 国产精品成人午夜福利| 精品区国产区一区二区三区| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 黑人精品成人一区二区三区| 国产福利合集| 天堂种子在线www网资源| 综合网亚| 人妻少妇久久中文字幕一区二区 麻豆| 亚洲日韩精品久久久久一区壹牛| 超踫中文字幕| 亚洲激情深爱文学小说网站| 九九九免费视频| 丁香五月社区| 91精品久久久久久| 伊人黄色片| 亚洲一区二区三区久久 亚洲一区二区| 久草精品国产蜜臀 | 91色欧美| 爱做久久久久久| 99re在线视频国产| 国产极品美女高潮无套在线观看| 婷婷五月天无码| 国产第12页| 操b网站亚洲无码| 白丝被操91| 日韩久久超碰色| 久久性爱视频免费看| 殴美,日韩国产伦精品| 91美女小视频| 亚洲精品色| 大香蕉一级黄色片久久| 超碰超碰95| 精品人妻一区二区三区在| 天天干天天做| 国产精品免费久久久久久久久久| 好吊妞转入那个网| 亚洲成人帖图| 亚洲激情久久| 美美91成人国产精品欧美精品久久久久久久| 99热这里只有是精品10| 综合欧美色图| 国产AV无码AV| 中文字幕熟女人妻丝袜丝| 蜜乳av首页| 欧美亚洲厕所精品偷拍91| 操人妻逼91| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 丰满人妻一区二区三区| 尻女朋友一夜| 影视综合无码少妇| 亚洲 另类 丝袜 自拍 动漫| 日韩精品黄片免费观看| 98超碰日本| 国产精品久久久久久久久AV大片 | 天天日日日射| 91被操| 亚州九九九精品视频| 在线v中文字幕一区二区三区| 国内一级精品| 插老姨肥穴| 国产福利小视频高清在线观看| 亚洲图片视频小说| 色狠狠综合噜一二三区| 在线v中文字幕一区二区三区| 欧美熟妇精品黑人巨大91| n1038 一二三区| 日韩人妻 中文字幕| 小骚逼被操的爽不爽| 五月色网| 精品一区二区三区国产| 久久成人网站| 大香蕉色网| 日韩一级欧美一级在线观看| 午夜精品久久久久久久久久久久久| 青娱乐 成人娱乐在线| 欧美日韩国产中文精品字幕自在自线| 国产97免费视频| 欧美日韩亚洲高清不卡一区二区三区| 精品久久人妻成人网| 乱伦熟妇一区二区| 啊啊啊啊啊舒服| 青青草吊丝| 国产欧美一区激情交| 人妻一区二区三区视频 | 91丝袜在线播放| 欧美大波激情xxxx| 亚洲国产丝袜熟女av| 疯操AV| 亚洲色丰满少妇高潮| 五月丁香亭亭| 免费综合亚洲中文| 欧美操逼熟女| 91大神精品长腿在线观看网站| 天堂亚洲精品久久老牛| 天天天肏屄欧美| 麻豆人妻精品一区二区| 国内毛片免费h片在线| 欧美色图色综合| 国产精品一区在线播放| 国产99999久久精品| 亚洲免费日韩在线一区二区| 婷婷色一区| 久操热线| 激情久久久| A 天堂在线观看视频| 久久久久免费看少妇A片特黄| 久草色在线观看| 日韩中文字幕熟妇人妻| 亚洲无码久久久久久久| 天天色天天干天天射| 精品日韩人妻视频| 国产精品视频自拍在线| 日韩av性爱在线播放| 女色综合| 黄片免费日韩| 国产亚洲日韩欧| 亚洲国产精品99久久久| a亚洲欧美色欲| 操逼网站网站| 亚洲乱色熟女一区| 狠狠操夜夜| 欧美十八禁导航成人| 在线观看成人性爱免费小视频| 国产亚洲深夜激情| 日韩成人在线性爱视频| 麻花豆传媒剧国产MV出差| 三级特黄60分钟播放| 思思热免费在线视频| 强奸国产在线| 久久草在线综合视频| 搡老熟女老女人老熟妇免费视频| 影音先锋中文字幕日本好一区二区| 老鸭窝黄色视频网站| 欧美亚男人的天堂| 亚洲色图欧美另类在线| 国产精品乱码久久久久久久| 东京热毛片调教| 男人的天堂99| 看免费一级在线播放毛片| 伊人一区二区在线播放| 91成人高清在线观看| 无码日韩人妻av一| 99热精品在线| 夜夜嗨AV蜜臀av| 在线情色电影 91大 | 99只有精品| 亚洲国内精品成人不卡| 97人人夜| 亚洲久久久| 日韩无码精品综合久久| 久久久久亚洲Aⅴ无码| 强奸乱伦亚洲第一页| 少妇久久| 极品尤物女神在线观看| 极品丝袜无码| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 一本大道久| 中文字幕欧美日韩三级| 亚洲一区二区久久久久| 亚洲丝袜色| 一区二区三区欧美激情| 久久精品国产亚洲AV片多多| 亚洲一级特黄大片在线播放91| 婷婷五月天激情网| 美美91成人国产精品欧美精品久久久久久久| 乱色老一区二区三区的观看方式 | 亚洲人妻av| 青青草国产亚洲精品久久| 后入日本1234| 国产一区在线观看无码AV| 婷婷五月天色色| 九九热精彩视频| 嗯~啊~快点 死我视频免费看网站| 99re在线| 色婷久久| 岛国激情视频软件| 日本人体九九九九九九| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 国产精品白丝在线播放 | 91热色| 亚洲小电影免费涩涩成人在线高清 | 青青草中文-久久青草精品一区二区三| 老女人碰碰在线碰碰视频| 97超碰超碰| av日韩国产一区二区| 97综合在线| 99精品丰满人妻| 国产精品九九九| AAA久久| 97草草| 中文字幕一区二区在线日韩精品| 日韩pv中文| 亚洲色图A| 五月丁香色情| 中文字幕av片| 免费观看国产不卡av| 天天色播亚洲综合网站| 日日夜夜草草草| 激情 欧美 亚洲 小说| 国产精品老师| 加勒比海成人视频网 | 国产精品成久久久久午夜午夜| 丁香五月婷婷啪啪| 啊啊啊好大好深| 日韩丨制服丨中文|在线| 日日干男人的天堂| 无遮挡一级毛片视频免费的| 欧美性爱一内片一区二区三区| 色五月av| 九九热免费国产视频婷婷伊人| 91丝袜| 97爱免费插| 少妇久久久| 欧美最婬乱婬爆婬性视频 | GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 中文字幕啊啊啊在线观看视频| 亚洲日韩97| 婷婷综合五月| 91成人无码| 在现视频女上位好爽| 偷拍 欧美 日韩| 日本男人插女人的逼黄色| 极品白嫩美少妇在地板上位骑射淫水泛滥| 91原创在线观看| 蜜臀AV秘一区翔田千里| 操淫穴亚洲五月丁香| 91精品国产高清久久久久久,亚洲成人| 性欧美第一页| 九九热男人天堂| 国产又猛又粗又爽又黄| 综合91网| 深爱激情五月天| 亚州熟女乱伦| 91欧美综合在线| 亚洲欧洲综合视频在线| 亚洲色人阁| 久久精品一区| 欧美精品久久久久久久久88| 9久久久久久| 欧美熟爽综合| 国内毛片婷婷六月色| 婷婷探花久久精品一区| 亚洲情色91| 欧美成人国产精品| 色情综合网| 在线视频97| 蜜臀亚洲综合一二三四区| 日韩黄色成人性爱| 婷婷超| 欧色性第一页| 日韩一级二级| 日本不卡高清视频| 91九色丨风韵犹存| 亚洲影院小综合| 九九热九九| 色哟哟综合| 欧美九九九| 亚洲少妇色图自慰直播| 日韩欧美女优电影| 中文字幕精品一区二区精| 78精品| 欧美性综合| av在线浏览| 色婷婷色99国产综合精品| 人人妻人人爽一区二区三区| 亚州日韩97| 国产精品久久9| 中文字幕一区二区三区视频播放| 熟妇xxxxx性春色| 蜜桃久久一区二区| 婷婷五月天色网| 91爱看| 欧美色图偷拍另类| 天天欧美欧美亚洲网| 久久鲁干| 八人操人人摸人人看| 51一区二区三区| 国产玖玖| 18禁中文字幕| 激情视频一二三| 丝袜美腿诱惑亚洲欧美视频在线观看 | 色五月av| 九九九九九九精品| 97久久精品不卡| 91精品国久久久久久无码| 熟妇最新先锋一二三区| 香蕉在线一区二区三区| 欧美性生活综合| 亚洲一区二区三区四区视频| 日韩精品一区二区日韩 | 爽爽淫人网| 日本九九九九| 久久亚洲婷婷| 亚洲AV成人无码一区二区三区在线观看 | 久久精彩视频9| 天天操狠狠日夜夜干超碰撸com视频在线观看| 国产亚洲精品久久久久小| 久/久精品99看9| 一区二区三区视频在线观看免费| 中国一级αV| 中国少妇啪啪视频| 人妻91少妇| 欧美日韩狠狠爱| 精品一二三区女同 | julia在线观看久久| 99亚亚热| 一区久久久二区| 国产性感在线观看| 蜜臀99999| 97色妞| 中国熟女91| 五月天人妻综合| 蜜臀久久99精品久久久久久成人小说| 校园春色 亚洲| 欧美日韩精品久久久久久久久东北老熟妇| 91国产丝袜白虎| 诱惑网综合| 韩国免费播放一级毛片| 欧美自拍偷拍综合图片| 无码WWW免费视频网站| 欧美午夜视频精品久久| 中文字幕 国产区| 口爆综合网| 玖玖蜜臀资源网| 操逼999| 另类图片五月天| 伊香蕉综合久久久久久久噜噜噜| 91人妻在线视频| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 欧美91精品国产自产| 亚洲熟女乱色一区二区三区| 亚洲精品官网在线观看| 99在线无码精品秘 入口黑人| 操逼逼无码| 99性爱视频| 国产AV天美| 黄色不卡视频| 九九九九亚洲| 人人看人人插| 色婷婷电影| 爱啪精品一区| 欧洲亚洲人妻无码高清久久三区四区| 综合久久97| 狠狠色噜噜狠狠狠狠狠色综合久久| 婷婷五月色| 欧美老妇女内射网址| 桑老女人九区| 综合久久99| av无码av无码专区| www四虎| 劲爆欧美人妖三区91| 麻豆熟妇乱妇熟色A片在线看| 欧美成年人性爱视频免费观看| 国产精品探花视频| 亚洲国产综合久久久性感熟妇| 曰韩少妇无码| 超清中文乱码字幕| 亚洲一区二区三区中文字幕| 蜜桃av综合网发布| 18精品一区| 国产视频小说| 人人操人人爽人人操人人| 人妻性爱一区二区| 一起草av| 久久宗合亚洲| 日本性爱欧美性爱| 国产 v乱码一区二| 人妻人人澡人人爽人人| 一区二区三区男人的天堂| 97在线播放 | 91视频综合在线| 黑人精品XXX一区一二区| 天天天天干| 人妻少妇久久| 操操操日本的逼| 中文字幕片| 日韩啪啪视频| 亚洲欧美精品91| 神马久久久久久久久| 日韩无码黄色片| 神马久久久久久久久久久久| 精品78| 激情婷婷丁香| 在线播放欧洲免费av| 强奸乱伦中文字幕AV| 神马久久啊啊| gogogo免费高清看中国国语| 爱欲AV| 国产在线能看的你懂的| 久久久亚洲精品电影免费看| 韩国三级色呦呦| 日本熟妇一区二区三区| 欧美姓爱综合网| 婷婷五月天丁香花| 亚洲男人天堂2017| 婷婷六月色| 亚洲高清自拍| 精品射1999| 婷婷操视频| 少妇同性| 亚洲精品天堂久久A∨51成人漫| 99在线视频播放| 黄色电影在线播放综合网站| 大香网伊人久久综合网eew| 精品国产av一区二区三区四区入口| 亚洲欧美九九| 最新无码国产| 亚洲综合113页| 免费成人在线观看91| 蜜臀99999| 约操熟妇| 超碰欧美COM| 97超碰国产精品| 日韩成人高清一区二区| 亚洲精品 超碰| 欧美日韩国产高清在线一二三区 | 精品一区二区2| 国产欧美日韩精品中文| 国产精品丝袜久久亚洲不卡| 国产欧美日韩精品中文| 999热日韩精品| 偷拍网站久久男女男| 免费看片黄| 亚洲美女黄色| 久久久爆乳翘臀一线天伦理视频| 一区AV| 日韩中文9| 99热这里都是精品| 偷拍 欧美 日韩| 激情小说亚洲图片| 九九色热| 国产精品黑人一区二区三区| 蜜臀th| 亚洲色吧网| 性影在线视频| sewuyueav| 99久久综合| 精品国产久热在线观看| 欲香欲色| 免费亚洲国产精品久久一区| 99操逼| 我要去看2个日本美女.com曹逼| 伊人精品国产| 久操av在线| 激情婷婷丁香| www.狠狠| 欧美一级黄片视频在线| 四虎在线视频| 60秒免费小视频| 亚洲精品男人的天堂| 强奸乱伦AV一天堂网| 久久久精品一区二区| 日韩偷拍色图| 成人性爱全视频观看| 美女久久久| 美女网站黄页| 国产日韩精品一区二区三区| 自拍大香蕉乱插| 91色人妻| 五月天亚洲色图| 欧美日韩亚洲国产中文永久天天看| 色97| 成人网站 免费观看| 久久伊人最新网址视频| 精品人妻一区二区三区蜜桃视频| 超碰 av 女人天堂| 天天爽天天干| av天堂手机版追回| 自怕偷自怕亚洲精品| 久久久久99999| 亚洲情色 自拍| 黄久在线| 久久秀这里有精品| 青青草操逼逼视频| 国模吧 一区二区三区| 久久天天艹| 久9re热视频这里只有精品| 日韩三级av片| 91青青| 久久精品女同亚洲女同13| 精品美女久久一二三| 啪啪91| 久妇网| 99热97| 蜜臀久久一区二区| 五月综合久久| 人人色人人操在线| 一本久道在线综合视频| 岛国1区2区3区在线观看| 美女91网站| 另类天堂| 97av在线观看| 日本欧美中文字幕| 免费观看一区| 超碰色综合| 视频不卡中文字幕| 欧美第一页| 一中国女人毛片水真多| 久久精品女同亚洲女同13| 欧美一品道| 99精品丰满人妻无码| 99精品久久久久久| 日韩av情韩国爱禁区av一区二区| 97超碰中文| 97欧美色| 欧美se综合| 思思性爱| 白嫩国模丰满一二三区| 美女一区二区国产精品| 思思热免费视频观看| 立川理惠加勒比无码| 婷婷五月天激情四射| www.婷婷五月天| 中文伊人大香蕉视频| 久久色激情一区二区三区| 又大又黄国产| 亚洲中文字幕日产无码久久| av天堂精品久久| 秋霞一集毛片观看| 精品对白久久不卡| 青青草原香蕉日本Ap| 国产自偷| 国产中文日韩欧美一区二区三区人妻丝袜美腿 | 97操97干| 狠狠爱综合网| 日韩性爱1级片视频| 18禁超污无遮挡无码免费网| 婷婷伊人| 日韩国产品视频中文字| 60秒免费小视频| 神马久久久久久久久久久久| 日本一久是| 亚洲人妻精品一区二区| 超碰精品日韩欧美国产| 强奸乱伦av电影| 97电影院超碰| 国产熟女二区| 九九九国产| 国产精品无码成人精品| 91精品伊人久久久大香线蕉91| 视频二区美腿丝袜制服人妻欧美| 久久欧洲| 91青青| 国产精品人妻一区二区| 欧美的性爱网站免费| 国产成人精品日本亚洲语言| 国语人妻精彩刺激| 伊人五月天青青草婷婷| 日日骚 av| 91在线丝袜| 国产乱子伦一区二区三区在线观看| 亚洲欧美日韩激情不卡| 亚洲97久久精品亚洲| 最新的亚洲无吗| 女色视频社区| 日韩精品一区,二区 九九...老司机| 97av在线观看| 国产精品亚洲天堂网址| 超91综合网| 60秒免费小视频| 秋霞鲁丝午夜无码一区二区三| 夜夜精品视频一区二区| AAAA欧美日韩| 亚洲男人的天堂亚洲| 蜜桃视频啊啊啊啊| 人人看人人插| 97人肏| 亚洲午夜蜜臀| 久久精品日韩| 老司机福利青青草| 翔田千里av一区二区三区| 清清草影| 精品免费囯产一区二区三区| 亚洲天堂人妻熟妇视频| 日本久久久久久久久| 又黄又硬又粗又长国产视频| 啪一啪免费视频| 亚洲有码 欧美精品| 亚欧美色图| 国模无码人体一区二区三| 欧美成人性爱视频大全| 久久综合精品一区二区三区| 抽插一区二区视频| 日本精品无码三级网站| 欧美日韩m| 素人伊尹大香蕉免费下载视频| 一本色道久久天天射天天干| 亚洲午夜免费狠狠干| 综合天天。| 婷婷涩嫩草鲁丝久久午夜精品| 久久精品三级影视| 久久视频,这里只有精品| 精品国产一区探花在线观看| 色欲天天综合网| 本道在线| 亚洲天堂一区二区久久| 欧美78p| 久久久999国产精品| 免费在线黄片视频| 九九热精彩视频| 国内亚洲高清无码| 丁香激情网| 羞答答AV中文字| 国产成人手机视频激情| 桃色六月天| 久操操AV电影| 国产60区。| 无码高清操逼网址| 偷拍欧美激情| 啊啊嗯嗯好爽| 夜夜爽33333| 欧洲视频在线| 青青草九九九九九| 国产在线综合网| 欧美97日韩| 91狠狠| 欧美黄色图片| 亚洲精品电影| 综合久久中文字幕综合日韩精品| 亚洲中字慕不卡| 精品人妻美妇91job| 91日韩网站| 成年女人一区| 成人精品久久久午夜福利| 五月丁香狠狠爱| 91精品人妻一区二区三区蜜臀| 一色网男人的天堂| 国产欧美日韩女同性恋ww喷水精品| 超碰人人干天天射| 人妻在线中出视频| 亚洲欧美国产成人综合不卡| 欧美色图亚洲激情| 亚洲欧洲久久天堂| 蜜臀少妇一区二区| 91碰碰| 亚洲色色色| 免费中文在线| 成人熟女视频一区二区三区| 97天天搞在线| 神马久久久久久伦理片| 超碰在线在公开超碰在线在公开| 国产精品色| 男女激烈网站最新| 97射欧美| 欧美久久毛片基地| 欧美劲爆视频一区二区| 美女久久久久久久久久久| 91最新综合| 亚洲一区日韩| 婷婷色色五月天福利| 日韩av情韩国爱禁区av一区二区| 高清无码网址| 高潮的A片激情扒开一区| 东京热亚洲一区二区| 亚洲鸥美色图| 一区二区三区在线资源| 岛国网址国产 | 青青草原香蕉日本Ap| 97人人爱人人做人人乐| av凤凰久久久| 夜夜操美女| 夜夜爽夜夜操| 天天综合站| 亚洲欧洲无码97久久精品| 国产亚洲99久久精品| 蜜桃传媒一区二区亚洲| 超碰人妻在线| 东京太热久久久| 狠狠色五月亚洲91| 国产免费黄色一级大片| 四虎影视永久在线免费| **一级毛片国产| 久久成年精品| 亚洲第一视频 欧美风情 日韩| 国产人妻久久精品一区二区三区| 久九九九九九九九热| 色99999| 色香色香欲天天天影视综合网| 桑老女人九区| 丁香五月性| 97在线观看免费| 欧美一级二级三级| 婷婷久久久| 免费精品无码一级毛片牛牛影视 | 传媒免费一区二区三区| 一级@啪啪视频| 人妻少妇色综合| 色九九九| 荡小穴在线观看| 亚洲欧美精品一区天堂久久| 91干熟女| 国产九九九九九九九九| 先锋色眉乱伦资源| 亚洲国产91精品一区二区久久| 久久熟女嫩草成人片免费| 久久精品中文| 神马久久69| 丝袜视频一区二区在线播放国产中文| 久久国产视频性吧 | 成人资源中文字幕在线观看天天| 不卡一区二区日本视频|