日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

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

無可挑剔的代碼質(zhì)量:impeccable聚合工具與CI集成實(shí)踐

無可挑剔的代碼質(zhì)量:impeccable聚合工具與CI集成實(shí)踐 拿到這個標(biāo)題的時候我第一反應(yīng)是哪個項(xiàng)目敢起名叫“impeccable”這詞翻譯過來是“無可挑剔”口氣不小。但轉(zhuǎn)念一想干我們這行的人多少都有點(diǎn)完美主義傾向尤其在代碼質(zhì)量這件事上。我見過太多項(xiàng)目功能做得挺全一開 code review 卻慘不忍睹——縮進(jìn)風(fēng)格五花八門、死代碼一堆、測試覆蓋率形同虛設(shè)。所以當(dāng)我在某次技術(shù)分享里看到這個項(xiàng)目名時反而來興趣了它到底做了什么才敢說自己“無可挑剔”這個項(xiàng)目本質(zhì)上是一個代碼質(zhì)量規(guī)范與檢查聚合工具目標(biāo)是讓團(tuán)隊(duì)的代碼在提交之前就達(dá)到“挑不出毛病”的狀態(tài)。它把散落在各種工具鏈里的檢查邏輯——格式化、靜態(tài)分析、依賴安全、測試覆蓋率——統(tǒng)一到了一套配置里并且嵌入了 CI 流程。它的價值不是引入一個新框架而是把團(tuán)隊(duì)里“靠人自覺”的那部分質(zhì)量工作變成了“機(jī)器強(qiáng)制”的自動化流程。適合正在為代碼規(guī)范扯皮、review 效率低下、線上 bug 反復(fù)出現(xiàn)而頭疼的團(tuán)隊(duì)參考。我花了幾天時間把它完整跑了一遍并且在一個模擬項(xiàng)目里實(shí)際落地。下面把我拆解它的思路、踩過的坑、以及最終沉淀下來的那套配置方案一步步寫出來。1. 整體設(shè)計思路把“完美”拆成可執(zhí)行的規(guī)則先說結(jié)論任何一個號稱“完美”的工具背后都不是魔法而是一堆可量化、可執(zhí)行的規(guī)則堆出來的。impeccable 這個名字看著抽象但它做的事情非常具體——把“代碼質(zhì)量”這個模糊概念拆成了四個維度然后逐個擊破。1.1 四個質(zhì)量維度格式、靜態(tài)、依賴、測試我拿到這個項(xiàng)目后先看了它的規(guī)則配置文件結(jié)構(gòu)非常清晰它把檢查項(xiàng)分成了四層格式層統(tǒng)一縮進(jìn)、引號、換行、導(dǎo)入排序。這些是 review 里最浪費(fèi)時間但又最沒技術(shù)含量的爭論點(diǎn)。靜態(tài)分析層未使用變量、隱式類型轉(zhuǎn)換、空指針風(fēng)險、復(fù)雜度超標(biāo)。這一層抓的是“能跑但很危險”的代碼。依賴安全層掃描依賴樹標(biāo)記有已知漏洞的版本。這一層很多人會忽略但恰恰是線上事故的高發(fā)區(qū)。測試覆蓋層強(qiáng)制核心模塊的分支覆蓋率閾值達(dá)不到直接構(gòu)建失敗。這個分層設(shè)計我給高分。它解決了一個很現(xiàn)實(shí)的問題把質(zhì)量問題的處理時機(jī)前置了。以前代碼合并到主干之后出了問題再回頭修成本高且容易引入新 bug?,F(xiàn)在把這些檢查塞進(jìn) CI 流程提交代碼的瞬間就知道合不合格修起來也就是幾分鐘的事。1.2 為什么選擇“配置聚合”而不是“重新造輪子”我一開始以為這是個 lint 工具看完才發(fā)現(xiàn)它沒有自己解析代碼而是把現(xiàn)成的工具鏈串了起來。這恰恰是它最聰明的決定。舉個例子它底層調(diào)用的還是社區(qū)里成熟的檢查器但統(tǒng)一了它們的配置文件格式和觸發(fā)時機(jī)。這帶來的直接好處是團(tuán)隊(duì)不需要學(xué)習(xí)新工具只需要在一個地方改配置。對帶團(tuán)隊(duì)的人來說這非常重要——任何需要成員額外學(xué)習(xí)成本的新工具落地阻力都會非常大。而它把已有的、大家熟悉的工具組合起來形成了一個統(tǒng)一入口學(xué)習(xí)曲線幾乎為零。當(dāng)時我正好在給一個老項(xiàng)目做質(zhì)量治理深有體會。那個項(xiàng)目前后用了三套不同的檢查工具配置散落在各個模塊里CI 上跑的還是各自獨(dú)立的腳本互不通信。真正的問題不是某個檢查器不好用而是它們各自為政團(tuán)隊(duì)不知道該聽誰的。impeccable 這種聚合思路本質(zhì)上是在解決“工具碎片化”帶來的管理成本。2. 規(guī)則體系搭建核心配置的拆解與參數(shù)調(diào)優(yōu)這一章是實(shí)操重頭戲。我把它裝進(jìn)一個模擬項(xiàng)目一個標(biāo)準(zhǔn)的三層架構(gòu) Web 服務(wù)前端框架加后端接口里折騰了整整兩天。下面是我最終沉淀下來的配置方案和調(diào)參心得。2.1 格式化規(guī)則把“審美爭議”消滅在提交前格式化這層最沒技術(shù)含量但對團(tuán)隊(duì)的隱形收益最大。我見過兩個同事因?yàn)椤翱s進(jìn)到底用兩個空格還是四個空格”在 PR 里來回 battle 了十幾條評論最后誰也沒說服誰。impeccable 的做法是別吵了機(jī)器說了算。它的配置文件里默認(rèn)啟用了一套比較激進(jìn)的格式化策略。以 JavaScript 代碼為例核心配置如下{ format: { indent: 2, quotes: single, semicolons: true, trailingComma: all, printWidth: 100 } }這里有個調(diào)優(yōu)細(xì)節(jié)值得注意。默認(rèn)的printWidth是 80但我實(shí)際測下來在現(xiàn)代寬屏顯示器上80 會導(dǎo)致很深的換行嵌套代碼反而更難看。我調(diào)到 100 之后整體可讀性好了很多。另外一個關(guān)鍵點(diǎn)是trailingComma必須開成all。很多人覺得多寫個逗號無所謂但它直接關(guān)系到 git diff 的可讀性。試想一下你在數(shù)組末尾加了一項(xiàng)如果末尾沒有逗號那么新增行的上一行也會被標(biāo)記為修改diff 里多了無用噪音。開成all之后每次改動只影響真正新增的那一行代碼審查時掃一眼就能看清楚變化。2.2 靜態(tài)分析閾值寬容期與嚴(yán)格期的平衡靜態(tài)分析是這工具里最容易讓團(tuán)隊(duì)“炸毛”的部分。一上來就把規(guī)則全部拉滿團(tuán)隊(duì)成員的線上代碼會瞬間多出幾百個報錯那時這工具離被卸載也不遠(yuǎn)了。它的設(shè)計里有一個非常實(shí)用的概念寬容期配置??梢栽O(shè)定一個過渡時間段期間只告警不阻斷給團(tuán)隊(duì)留出清理歷史債的時間。static_analysis: level: warning grace_period: 14 days max_complexity: 10 disallow_any_type: true我實(shí)測下來max_complexity設(shè)成 10 是個比較舒服的閾值。設(shè)成 5很多正常的業(yè)務(wù)代碼會頻繁報警容易產(chǎn)生“狼來了”效應(yīng)設(shè)成 15又基本放過了真正有問題的深嵌套邏輯。10 是一個能逼著開發(fā)者拆分函數(shù)、又不至于過度設(shè)計的折中值。disallow_any_type這個開關(guān)我建議在 TypeScript 項(xiàng)目里直接打開。它在前期會很痛苦因?yàn)闀浦憬o所有變量寫類型但在重構(gòu)時會救你一命。沒有類型約束的代碼三個月后你自己都看不懂當(dāng)初傳了什么進(jìn)來。2.3 依賴安全與測試覆蓋容易被忽視的硬門檻依賴安全這層我原本以為就是跑一遍掃描腳本實(shí)際用下來發(fā)現(xiàn)它還做了漏洞等級分級。不同等級的漏洞有不同的處理策略不是一刀切地全掛掉。dependency_checks: scan_depth: 3 fail_on: critical warn_on: [high, moderate] auto_update: false這里我吃了點(diǎn)教訓(xùn)。剛開始我把fail_on設(shè)成了high結(jié)果有個冷門庫爆出一個高危漏洞但那個庫已經(jīng)兩年沒更新了上游根本沒人修只能被迫降級換庫折騰了一整天。后來我學(xué)乖了只對critical級別的漏洞做硬阻斷high級別作為警告推送。因?yàn)轱L(fēng)險評估要考慮可利用性而不是只看評分等級。測試覆蓋這塊它支持按目錄設(shè)定不同的閾值這個設(shè)計對老項(xiàng)目非常友好。核心業(yè)務(wù)模塊要求 80% 的行覆蓋 70% 的分支覆蓋而周邊工具模塊只為 40% 的兜底下限。這個差異化策略幫我避免了一個尷尬情況團(tuán)隊(duì)為了達(dá)標(biāo)把沒用的 getter/setter 和工具函數(shù)硬寫測試來湊數(shù)白白浪費(fèi)工時。下面是我在模擬項(xiàng)目里用的覆蓋率閾值模塊行覆蓋率分支覆蓋率說明核心業(yè)務(wù)服務(wù)80%70%不允許降級API 接口層60%50%保證主流程可用基礎(chǔ)設(shè)施工具40%30%僅設(shè)兜底下限UI 組件層50%40%重點(diǎn)覆蓋交互邏輯2.4 配置文件繼承多項(xiàng)目復(fù)用的關(guān)鍵設(shè)計這個特性是我用下來覺得最實(shí)用的。它的配置文件支持分層繼承能按團(tuán)隊(duì)、項(xiàng)目、模塊三個粒度疊配置。我實(shí)際搭建時用了三層結(jié)構(gòu)# 最底層的團(tuán)隊(duì)公共配置 common: extends: default static_analysis: level: error # 中間層按項(xiàng)目類型定制 service-project: extends: common test_coverage: core: line: 80 # 最上層針對個別模塊的特例 legacy-module: extends: service-project static_analysis: level: warning這個設(shè)計的價值在于新項(xiàng)目克隆下來 5 分鐘就能接好全套檢查不用從零開始寫規(guī)則。同時老模塊可以暫時掛在一個較低的閾值下逐步整改。我在實(shí)際遷移一個老服務(wù)時就是靠這個能力先把檢查掛上但不強(qiáng)制通過一周后歷史報錯清零了才切換成強(qiáng)制模式。3. 實(shí)操過程從零到一完整接入一套檢查流水線下面是我的完整實(shí)操記錄。我拿了一個模擬項(xiàng)目 X一個前后端分離的 Web 應(yīng)用來做試點(diǎn)把 impeccable 完整接入它。3.1 安裝與初始化先看清“家底”再動手安裝本身很簡單一個命令就能完成它會自動檢測當(dāng)前項(xiàng)目用了什么語言和框架然后給出對應(yīng)的初始化模板。npm install -g impeccable-cli impeccable init初始化過程中它會問幾個問題項(xiàng)目類型、前端框架、是否啟用類型檢查、以及歷史代碼量。這里有一個很關(guān)鍵的選項(xiàng)“歷史代碼檢查模式”。我建議第一遍先選“只報告不阻斷”。為什么我試過直接上強(qiáng)制模式結(jié)果整個項(xiàng)目 300 多個文件報了 2000 多個問題。那個紅色報錯列表一出來團(tuán)隊(duì)其他人的反應(yīng)是“這工具是不是有問題”。后來刪掉重來先跑了一輪純報告模式找出問題的分布規(guī)律再分批修復(fù)順暢很多。先把家底摸清楚再定整改節(jié)奏這個順序不能反。3.2 配置調(diào)整把閾值調(diào)到“夠得著”的水平初始化生成的默認(rèn)配置是比較保守的。我根據(jù)模擬項(xiàng)目 X 的實(shí)際情況做了三處調(diào)整第一處是關(guān)閉了一項(xiàng)過于嚴(yán)格的命名約定。默認(rèn)規(guī)則要求所有的函數(shù)和變量都采用完整單詞命名不允許縮寫這在業(yè)務(wù)代碼里會導(dǎo)致大量報錯。比如resp必須寫成responsebtn必須寫成button。這種規(guī)則的收益極低還容易造成行寬膨脹。我選擇關(guān)掉它。第二處是調(diào)整了復(fù)雜度閾值。模擬項(xiàng)目 X 里有一段處理訂單狀態(tài)流轉(zhuǎn)的邏輯天然就是個大 switch 分支怎么拆都別扭。我為這個特定的函數(shù)加了一條豁免注釋并在備注里寫清楚理由和負(fù)責(zé)人。豁免機(jī)制很重要它給了規(guī)則一些彈性空間讓團(tuán)隊(duì)不會因?yàn)椤八腊逡?guī)則”而產(chǎn)生抵觸情緒。第三處是設(shè)置了覆蓋率閾值??紤]到這個項(xiàng)目之前幾乎沒有測試我新寫了兩個核心模塊的測試用例把覆蓋率頂?shù)搅?60%先跑通流程后續(xù)迭代再加。不要追求一步到位先讓門禁跑起來再逐步收緊。3.3 CI 集成讓人工檢查退居二線本地能跑只是第一步真正的價值在 CI 里體現(xiàn)。集成方式非常簡單在 CI 配置里加一步即可- name: Code Quality Check run: impeccable ci它會自動完成格式校驗(yàn)、靜態(tài)分析、依賴掃描、測試覆蓋報告生成最后輸出一個匯總結(jié)果。如果有硬性錯誤直接讓構(gòu)建失敗如果只是警告會生成一個 markdown 報告掛到構(gòu)建日志里供查看。這步操作我建議放在單元測試之后、構(gòu)建鏡像之前。放在測試前面代碼有問題時測試還沒跑就退出不會浪費(fèi)時間跑完整個測試套件。放在構(gòu)建之前則是避免把不達(dá)標(biāo)的代碼打包進(jìn)產(chǎn)物里。原來我所在的團(tuán)隊(duì)總是把 review 的注意力放在“功能是否實(shí)現(xiàn)”上有了機(jī)器鏈路去做“代碼是否規(guī)范”的初篩人類 reviewer 就能把精力集中在真正需要判斷力的地方。3.4 報告解讀用數(shù)據(jù)代替感覺跑完檢查后它會生成一份非常直觀的報告核心是一張“質(zhì)量評分卡”給項(xiàng)目的四個維度分別打分。我用它發(fā)現(xiàn)了模擬項(xiàng)目 X 中一個隱藏很深的問題某個基礎(chǔ)工具模塊的測試覆蓋率顯示 80%但分支覆蓋率只有 15%。當(dāng)時看著行覆蓋率覺得還行但仔細(xì)看了分支覆蓋的明細(xì)才發(fā)現(xiàn)測試全是對正常路徑的一路走到黑異常分支空指針、網(wǎng)絡(luò)錯誤、權(quán)限不足一個都沒覆蓋到。這正是行覆蓋率的盲區(qū)——行數(shù)跑了但分支沒有全跑。這份報告讓我意識到閾值設(shè)計時必須把分支覆蓋率單獨(dú)設(shè)硬指標(biāo)不能只看行覆蓋。另外有個實(shí)用小技巧它支持直接對比兩次提交的質(zhì)量分這一個功能非常利于推動整改。每次 PR 合并后對比一下質(zhì)量分的變化改善的要表揚(yáng)退化的點(diǎn)對點(diǎn)提醒。用數(shù)字說話團(tuán)隊(duì)里幾乎沒人會反駁。4. 落地實(shí)錄模擬項(xiàng)目 X 的兩天整改全過程把流程跑通之后真正的挑戰(zhàn)才開始怎么讓存量代碼達(dá)標(biāo)。這一步我耗盡心力也累積了不少實(shí)戰(zhàn)經(jīng)驗(yàn)。4.1 存量代碼的“降噪”處理模擬項(xiàng)目 X 是個已開發(fā)大半年的項(xiàng)目代碼量不算小。直接開檢查報告里爆了幾百個問題但仔細(xì)翻看大量報錯其實(shí)是同一個根因。例如整個項(xiàng)目到處是console.log調(diào)試語句居然有 40 多處還有一些文件是歷史遺留的復(fù)制方法從未被調(diào)用。這些問題有明確規(guī)律修復(fù)時我找到規(guī)律一次處理一類而不是一行一行改。推薦的做法是按報錯類型分組處理而不是按文件處理。先全局清掉一批同類型問題讓報錯總數(shù)掉下來視覺上給人“整改在推進(jìn)”的信心再啃難啃的骨頭。我用了一個下午把格式類和未使用變量類問題清了報錯數(shù)量從 800 多降到了 200 左右。剩下那 200 個才是真正需要動腦子的比如復(fù)雜的邏輯拆分、類型定義補(bǔ)全、異常處理重構(gòu)。這個過程不要急每天處理幾個模塊逐步推進(jìn)。4.2 豁免機(jī)制的正確姿勢上文提到豁免注釋這里展開說說。它的配置里支持按原因分類的豁免方式。我制定了一條內(nèi)部規(guī)則只有三類情況允許豁免——第三方 SDK 適配層、深度耦合的歷史代碼、以及有明確重構(gòu)計劃的技術(shù)債。并且每條豁免都要在備注里寫清楚“為什么豁免、誰負(fù)責(zé)、計劃什么時候修”。否則豁免會泛濫整個檢查形同虛設(shè)。我的項(xiàng)目里有一處倉儲訪問層鎖粒度設(shè)計不合理報了一個并發(fā)風(fēng)險警告。這個確實(shí)該改但要動到事務(wù)邊界牽扯面大不能馬上改。于是我給這段代碼加了一條半年的豁免申請備注里寫明重構(gòu)方案和責(zé)任人。半年后那些備注會全部過期重新報出來到時候再評估是否真正修了。這個“臨時許可證 過期提醒”的機(jī)制既給了過渡期又不會讓技術(shù)債永遠(yuǎn)爛在角落。4.3 團(tuán)隊(duì)的接受曲線先抓增量再補(bǔ)存量整個過程里最讓我意外的不是技術(shù)問題而是團(tuán)隊(duì)心態(tài)。剛開始強(qiáng)制門禁時有同事抱怨“以前能提交的代碼現(xiàn)在怎么提交不了”。這里我的經(jīng)驗(yàn)是先嚴(yán)抓新代碼存量代碼給緩沖期。新寫的代碼必須一次過檢歷史的存量故障可以分階段修。策略是新增的代碼如果格式不過關(guān)構(gòu)建直接失敗沒有商量余地。半死不活的老文件則集中列在“技術(shù)債清單”里每周五下午拿出兩個小時集中清理每清完一個文件就從清單上劃掉一個。這樣用了一個月清單上的文件從 80 個降到 12 個整個過程沒發(fā)生什么大的不愉快。關(guān)鍵點(diǎn)是讓大家看到整改在進(jìn)行而不是被規(guī)則“鎖死”。4.4 一次線上問題帶來的反思整改過程中模擬項(xiàng)目 X 出現(xiàn)了一個線上報警某個接口偶爾會返回 500。查了很久最后發(fā)現(xiàn)是一個緩存工具模塊里并發(fā)寫入的時候沒有做好鎖保護(hù)。有意思的是——這個類的行覆蓋率做到了 90%因?yàn)楦鞣N寫入路徑都被測試覆蓋到了但并發(fā)場景的時序問題單線程測試根本模擬不出來。我把這個案例復(fù)盤給團(tuán)隊(duì)聽的時候大家才真正理解為什么覆蓋率不能只看數(shù)字。從那以后我們對核心模塊的測試要求增加了一條硬性規(guī)定凡涉及共享狀態(tài)的代碼必須要有并發(fā)測試用例。這個問題讓我對“完美”這件事有了更深的理解——任何工具都只能檢查規(guī)則定義之內(nèi)的東西超出規(guī)則之外的風(fēng)險還是需要人來思考和設(shè)計。工具可以攔截低級錯誤但設(shè)計缺陷只能靠人的經(jīng)驗(yàn)來補(bǔ)。5. 常見問題與排查技巧實(shí)錄下面是我這兩天實(shí)操中積累的一些排錯經(jīng)驗(yàn)整理成速查表能幫想接入的讀者節(jié)省不少時間。問題現(xiàn)象排查思路解決方案初始化后檢查數(shù)百個報錯可能歷史遺留代碼過多先切“僅報告”模式分組清債覆蓋率明明達(dá)標(biāo)但構(gòu)建失敗行覆蓋與分支覆蓋閾值不同分指標(biāo)查看報告確認(rèn)分支覆蓋某文件規(guī)則與整體沖突存在不可避免的特定場景用豁免注釋并注明理由與時限依賴掃描發(fā)現(xiàn)高危漏洞但無新版上游維護(hù)不活躍評估可利用性降級或風(fēng)險接受團(tuán)隊(duì)抵觸情緒嚴(yán)重閾值設(shè)置過嚴(yán)調(diào)整閾值使新代碼嚴(yán)格、存量寬松還有一個我特別想分享的排查技巧當(dāng)某一個檢查器報出的問題數(shù)量異常膨脹時往往不是真的引入了海量問題而是某個通用配置被誤改。有一次靜態(tài)檢查突然報出 1200 多個錯誤嚇我一跳。查了半天發(fā)現(xiàn)是初始化時誤把“類型檢查”與“語法檢查”搞混了一個標(biāo)志位寫反檢查器把兩個規(guī)則疊加了。這種時候嘗試把配置里的某一層臨時置為默認(rèn)值二分定位很快就能找到問題源頭。另一個常見問題是多模塊項(xiàng)目里配置文件繼承關(guān)系寫錯了導(dǎo)致某個模塊繼承了不應(yīng)該應(yīng)用的規(guī)則。排查方法是加一個impeccable config:effective命令它會打印某個目錄最終生效的完整配置。這個功能我?guī)缀趺刻於家锰貏e是在調(diào)整公共配置之后確認(rèn)每個子模塊收到的規(guī)則是否符合預(yù)期。6. 自定義規(guī)則擴(kuò)展一套適合自己業(yè)務(wù)的語言工具自帶規(guī)則雖然夠用但每個團(tuán)隊(duì)總有那么幾條“血淚教訓(xùn)總結(jié)出來的規(guī)定”想固化下來。它也支持自定義規(guī)則插件。我那天正好在梳理團(tuán)隊(duì)過去一年的線上故障清單發(fā)現(xiàn)有兩條規(guī)律特別突出一是接口入?yún)⑿r?yàn)普遍缺失二是操作日志經(jīng)常沒打印關(guān)鍵上下文。這兩條靠默認(rèn)規(guī)則是查不出來的于是我把它們各自寫了一條自定義規(guī)則插件。以“禁止吞異?!睘槔芏嗤聦?catch 時習(xí)慣性地只打個日志就完事但有些異常確實(shí)需要往上拋。我用插件語法寫了一條規(guī)則強(qiáng)制 catch 塊內(nèi)必須包含要么拋出、要么標(biāo)記再拋出的邏輯否則直接報錯。這個規(guī)則上線當(dāng)天就抓到一個老模塊里三處異常被靜默吞掉的隱患。我建議自定義規(guī)則不要一次寫太多每一條都對應(yīng)一個真實(shí)發(fā)生過的事故這樣團(tuán)隊(duì)才會認(rèn)真看待它。如果你的團(tuán)隊(duì)剛準(zhǔn)備落地我建議先跑通默認(rèn)規(guī)則穩(wěn)定運(yùn)行一個月后再沉淀兩到三條自定義規(guī)則逐步形成自己的質(zhì)量文化。7. 性能開銷與卡點(diǎn)問題處理接入流水線后團(tuán)隊(duì)最關(guān)心的一個問題是CI 會不會變慢這個擔(dān)憂非常現(xiàn)實(shí)我的實(shí)測數(shù)據(jù)可以供參考。我用了模擬項(xiàng)目 X 作為樣本規(guī)模大概是 150 個源文件、2 萬行代碼。未接入全新前一次 CI 跑完是 1 分 40 秒左右。接入后前幾次完整檢查跑了大約 4 分 20 秒雖然完全可以接受但我還是想優(yōu)化。優(yōu)化手段主要是并行和緩存。它支持將格式化、靜態(tài)分析、依賴掃描拆成三個并發(fā)任務(wù)同時開啟緩存策略只有變更過的文件及其依賴鏈才重新掃描。第一次全量掃描后后續(xù)增量檢查只花大約 30 秒。我把這三條優(yōu)化打開之后整體 CI 時間控制在 2 分半以內(nèi)團(tuán)隊(duì)幾乎無感知。如果你的項(xiàng)目非常大建議在 nightly 定時任務(wù)里跑全量掃描CI 里只跑增量。這樣既能保證質(zhì)量門禁的響應(yīng)速度也能通過每日全量任務(wù)覆蓋到那些“平時改不到”的死角代碼。注意依賴安全掃描建議保持全量不要做增量跳過。我試過依賴樹只掃描變更模塊導(dǎo)致一個間接依賴的舊漏洞被漏過直到上線前的模擬演練才暴露出來。從那以后我對依賴掃描一律全量執(zhí)行這個開銷可以通過鎖定緩存依賴目錄來大幅降低。8. 結(jié)合實(shí)際使用的進(jìn)階建議最后這部分聊聊我自己的擴(kuò)展玩法特別是怎么讓質(zhì)量門禁從“討厭的關(guān)卡”變成“團(tuán)隊(duì)的習(xí)慣”。8.1 與代碼審查流程的銜接我發(fā)現(xiàn)很多人把工具檢查和人工審查對立起來其實(shí)它們是互補(bǔ)的。工具管“死規(guī)則”人類管“活的判斷”。接入檢查后我明確和團(tuán)隊(duì)說凡是工具能查出來的問題reviewer 在評論里一律不要再提只把精力花在架構(gòu)設(shè)計、業(yè)務(wù)邏輯、可擴(kuò)展性這些真正需要人腦判斷的地方。這個轉(zhuǎn)變讓 review 效率提升非常明顯。以前一個 PR 可能要來回 5 輪評論其中 3 輪在爭論格式和命名。現(xiàn)在格式和命名都過不了機(jī)器能到 reviewer 手里的代碼已經(jīng)相對干凈了。review 的輪數(shù)降到了兩輪以內(nèi)而且討論的內(nèi)容都聚焦在“這個接口設(shè)計是否合理”這類高價值話題上。8.2 質(zhì)量指標(biāo)的可視化為了讓團(tuán)隊(duì)能直觀地看到進(jìn)步我用它導(dǎo)出的質(zhì)量數(shù)據(jù)在內(nèi)部做了一個簡單的指標(biāo)趨勢圖。橫軸是時間縱軸是“每千行代碼缺陷數(shù)”。這個數(shù)字從接入前的 8 降到了現(xiàn)在的 3 左右極大的提升了團(tuán)隊(duì)的成就感。這里有個小經(jīng)驗(yàn)趨勢圖要展示的是團(tuán)隊(duì)整體指標(biāo)而不是個人排名。否則容易變成隊(duì)友之間互相內(nèi)卷偏離了提升代碼質(zhì)量的初衷。我們定的目標(biāo)是“比上周的自己更好”而不是“比隔壁組更好”。8.3 從“可用”到“好用”的路徑說實(shí)話這個工具開箱即用的體驗(yàn)已經(jīng)不錯但你千萬不要指望裝完第二天團(tuán)隊(duì)質(zhì)量就突飛猛進(jìn)。我建議按下面的節(jié)奏推進(jìn)第一周只裝不查讓團(tuán)隊(duì)熟悉配置和命令CI 里只輸出報告。第二周打開格式和靜態(tài)檢查的警告模式讓成員看到自己代碼的問題分布。第三周開始強(qiáng)制增量代碼的格式檢查。第四周把靜態(tài)檢查也切到強(qiáng)制模式存量代碼繼續(xù)用豁免機(jī)制過渡。這樣一個月下來團(tuán)隊(duì)基本就能平穩(wěn)度過最痛苦的適應(yīng)期。我自己實(shí)際跑下來最欣慰的不是最后所有指標(biāo)變綠了而是看到一個剛?cè)肼毑痪玫耐瑢W(xué)在提交代碼之前主動跑了一遍檢查工具并說以前不知道自己代碼有這么多細(xì)節(jié)問題。工具真正的價值不在攔截多少錯誤而是改變了每個人對代碼的評審標(biāo)準(zhǔn)。寫在最后把一小段一段真實(shí)經(jīng)歷總結(jié)一下不算總結(jié)的總結(jié)這個工具的接入過程讓我對自己做事的方式也有了一些反思。我過去也常覺得“完美”是個口號但實(shí)際操作下來才發(fā)現(xiàn)完美不是一個結(jié)果而是一套持續(xù)運(yùn)轉(zhuǎn)的流程。把格式、靜態(tài)問題、依賴風(fēng)險和測試覆蓋都變成自動檢查的一部分之后“無可挑剔”就不再是一個模糊的形容詞而是一串具體的、每天在跑的數(shù)字。最后分享一個我個人的小習(xí)慣我每次給代碼提交前都會花 30 秒跑一遍快速檢查確認(rèn)沒有低級錯誤才發(fā)出去。這個習(xí)慣堅(jiān)持了兩個多月后我自己的代碼 review 通過率幾乎百分之百不等于我的代碼比別人聰明只說明我很少因?yàn)轳R虎浪費(fèi)別人的時間。有時候“無可挑剔”給人的感覺不是壓力而是一種省心的自由。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲天天艹| 91成人久久| 国产精品九9| 五月丁香六月婷| 美女网站黄页| 96久久精品一二三区色欲| 久久精品99久久久久久| 黄色片,com| 天天躁狠狠躁av| 色婷婷日韩精品一区二区三区 | 九九在线精品| 97 亚洲 日韩 欧美 在线| 91性生活久久久| 青青三级视频| 中文字幕欧美丝袜07资源| 性色亚洲| 老司机天天操| 五月丁香婷婷色| 日韩人妻网站| juliaann欧美丝袜办公室| 亚洲性天堂| 久热这里| 国产自偷| 99精品久久久久久久婷婷蜜桃| 91色s| 欧美激情在线观看视频| 亚洲熟女乱色一区二区三区| 国产精品免费美女视频| 人人搡人人肉久久精品| 亚洲第一视频 欧美风情 日韩| 69精品| 欧美日韩人妻精品系列一区二区三区| 婷婷五月天久久精品视频一区二区三区 | 青青草手机在线免费观看| 逼操网站| 偷拍三区| 黑操B| 久九九九九九九热| 乱欲性色| 国产JDAV无码视频在线观看| 色婷婷影院| 色老牛| 97天天| 日本在线播放不卡一区| 欧美熟女妇同| 98久久| 精品性爱一区二区| 伊人网在线视频| 在线日韩日本亚洲国产| 91超级碰碰碰| 美女91av| 欧美日韩另类在线播放| 亚洲欧洲小说图片视频| www久久精品| 嫩草美女久久| 国产精品网站www| 啊啊啊啊啊啊在线观看| 九月婷婷久久| 亚洲AV色图一区| 欧美一级国产一级| 亚洲天堂自拍| 看免费的黄片| 99re3这里只有精品| 日韩射图| 免费在线观看AV无码网站| 欧美猛交黑寡妇中文字幕| 欧美一级在线观看成人| 少妇xx精品| 97色欧州| 日韩性爱一级片| www.91色综合| 日本熟妇一区二区三区| 亚洲色图A| 级做a爱无码性色永久免费| 六月丁香五月婷婷| 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 久久久久久久唑| 女人午夜视频777| 亚洲日韩熟女人妻高清在线| 亚洲无码太久| 国产亚洲色停停久久99精品91| 五月丁香婷婷综合| 天天射日日干| 嗯嗯嗯嗯啊啊啊好紧好大| 九t超碰| 男男H黄动漫啪啪无遮挡网站| 激情综合久久| 亚洲情色在线| 久久精品久久九九精品| 日本精品性生活久久久| 日韩中文字幕精品一区在线| 欧美91精彩| 宅男影院久久久,99| 国产精品色哟哟| 日本黄色精品专区网站| 色欧洲97| 国产精品成人蜜臀AV在线| 91黑丝操| 欧美十八禁在线看| 中文久久久| 九九碰九九爱97超碰| 精品一区二区人妖| 欧美日韩日产免费网站看| 精品久久久无码| 国产精品96| 男人兔费天堂| 麻豆美女丝袜人妻中文| 亚洲情色1区| 99久久久久久亚洲精品不卡| 97国产伦理| 亚洲欧美国产成人综合不卡| 超碰色大香蕉| 97资源制服丝袜| 日本一区二区亚洲综合| 九九九九九九成人| 日韩无码黄色片| 熟女91网| 久久性爱大全| 性猛交| 97免费视频网| 综合一区中亚洲国产成人综合精品| 一区二三区四区视频大全套| 激情丁香五月婷婷| 天天做天天爱夜夜爽毛片试看| 午夜福利在线视频1000| 人人看人人摸人人色| 欧美日韩人妻精品系列一区二区三区| 综合熟女| 小日子操bb在线看| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 啪啪视频免费在线观看| 亚洲情色一区综合| 老熟女91视频| 国产99999| 人妻少妇色综合| 凹凸视频在线一区二区| 亚洲有薄码区久久在线一区| 国产精品熟女AV中文字幕在线播放| 欧美一级黄片视频在线| 国产精品一区二区密臀| 亚欧美天堂在线| 91另类| 色 亚洲 91| 久久久久久亚洲中文| 变态另类专区| 9超碰免费| 国产亚洲禁久一区二区| 国产精品福利视频播放| 自拍亚洲综合| 75大香蕉| 久久久精品国产亚洲伊人| 在线岛国新天堂8| 欧美精品不卡一二三四在线91| 女人的久久久| 日韩一级片在线看| 欧美一区二区三区四区综合| 女人香蕉久久毛毛片精品| 色五月69夫妻| 婷婷五月天成人网| 日韩综合无码色欲vv| 熟女少妇视频| 五月天综合网| 玖色AV| 亚洲欧洲日韩国产自在线| 亚洲激情综合另类| 久久亚洲色图中文字幕| 久草精品热视| 丁香五月大香蕉| 国产精品久久久久久照片| 亚洲丝袜在线观看| 美熟女逼导航AV操逼| 99999精品视频| 97色碰| 黄色在线网站| 久久精品 六十路 熟女 欧美| 色臀aV| 超碰在线人妻不卡| 嗯嗯嗯啊啊啊操的我好爽| 综合色色网| 肏逼福利网站| 久久精品国产亚洲AV先锋| 超碰4A| 久久久精品久久| 中文字幕片| 九九综合| 五月天啪啪| 欧美亚洲日本视频久久久| 久久午夜鲁丝片| 久久久久99999| 欧美传媒一区| 精品美女久久一二三| 亚洲aw毛茸茸在线| 九九色热| 亚洲丝袜色| 婷婷综合久久| 久久9视频| 国产精品婬乱一级毛片彝族| 亚洲欧美日韩制服另类| 国内偷自视频区视频综合 | 亚洲欧洲综合| 欧美成人精品一区| 91天堂| 72av视频| 操国产高清| 亚洲精品97久久| 欧美天堂在线| 亚洲美女AV无码| 1240青青草一区二区三区视频天爱| 国语精品av| 欧美黄色片在线播放| 五月天婷婷小说| 日本精品高清一二区一本到| 强奸乱伦av电影| 综合性视频99| www.亚洲黄色| 伊人国产成人av网站| 亚洲伊人久久精品狠狠在线| 欧美97av| 97鸡把在线视频| 久久精品操| 欧美亚洲中文字幕| 日韩熟女精一区二区三区不卡| 亚洲成成熟女人综合一区二区| 97视频播放| 久久岛国| 日本性感人妻91| 黑人白女精品一区| 黄片直播三级黄片两女一男| 亚洲AV噜噜狠狠网址蜜桃动漫| 免费精品人妻一区二区三| 人人插人人摸人人| 久久婷婷色| 91蜜桃婷婷狠狠久久综合9色| 亚洲日韩美国人妻| 亚洲欧美日韩综合在线尤物| 色女女女导航| 天天综和| 骚逼自拍99| 午夜九九| yiqicaoav| 熟妇的味道HD中文字幕| 国产99久久99热这里只有精品15| 色999五月色| 亚码激情| 日韩影片中文字幕一区二区三区| 日韩少妇无吗| 麻豆熟妇乱妇熟色A片在线看| 97天天摸天天爽| 乱抡国产91| 国产精品久久久久久久无码AV| 操逼视频色| 福利在线观看一区二区| 亚洲男人天堂Av| 97色五月天完| 狠狠色一区二区中文字幕| 色偷偷综合91久久噜噜| 男人久久天堂| 久久久亚洲高清不打码| 九九色色| 日本中文字幕一区| 69精品| 日韩激情啪啪啪| 亚洲精品一二区| 五月天久久久| 国产美女精品| 友优传媒精品在线一区二区| 美国人人操人人操| 久久人妻丝袜一区二区三| 亚洲欧美另类少妇精品| 99视频自拍区| 91精品女厕偷拍视频| 另类图片五月天| 久草婷婷| 亚洲欧美日韩免费观看| 人妻av在线| 国产亚洲欧洲在线观看| 青青草原伊人网| 激情黄色片在线观看| 亚洲精品一区二区三区在线播放| 亚洲欧洲美腿丝袜| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场 | 国精综合一二三区影视| 欧美男人天堂| 亚卅熟女乱色| 欧日韩在线观看| www.人人摸在线视频| 自拍偷拍第26| 欧美国产日韩清纯唯美| 嗯嗯啊啊亚欧精品| 亚洲污污网站| yazhousetuoumei| 99日精品欧美国产| 久久久影院| 欧美淫穴| 狠色婷婷久久一区二区三区_| 日韩无码服务区| 国产无码高清操逼视频| 920日本午夜免费| 美国三级日本三级久久99| yw尤物av无码点击进入麻豆| 超碰av在线| 美女丝袜激情小说| 人人玩人人添人人澡免费| 亚洲天堂,男人| 国产诱惑| 妇女性内射冈站HDWWWCOM| 久久草草欧美精品| 久久国产精品视频| 日韩A优精品在线观看| 狠狠搞 亚洲91| 极品色| 亚洲成人在线播放| 亚洲欧美97| 97日视频| 一区三区啪啪| 婷婷综合视频| 亚洲色图片区| 欧美丰满熟妇XXXX性ppX人交| 少妇精品久久久| 成全动漫视频观看免费下载| 九九在线视频| 久热热| 国产67194| 成人电影一区| 97久久天天综合色天天综合色电影| 国产又黄又爽又刺激久久久久久| 天天摸夜夜摸| 丁香九月激情啪| 欧美在线综合| 黄色网址在线免费观看| 秋霞鲁丝午夜无码一区二区三| av黄图片在线观看| 顶级少妇BT天堂| 尤物网站91| 啪啪视频mP4| 97干色| 999狠狠综合| 黄页av| 91久久国产综合久久| 好吊色青靑草| 99久久这里只有精品| 日韩精品人妻| 二区熟妇韩日| 激情天天视频| 91成人久久| www.人人cao| 国产乱码久久久| 五月丁香啪啪啪| 色欲久久99国产精品久久久久久| 狼天天狼天天大香蕉| AAAA级日本片免费视频| 96爱综合| 2019精品国产无码成人| 超碰午夜| 97综合在线| 亚洲色交| 日日干夜夜操视频h| 日韩视频精品在线观看| SUV一区二区在线看| 日韩人妻免费精品| 亚洲日韩精品一区二区| 久久国产视频专区一二三| 91伊人久| 成年人免费观看网站| 超碰在线成人| 亚洲欧美综合| 新视频sss国产| 免费人成?大片在线播放| 欧美色图20P| 97超级久久强资源| 岛国福利在线精品播放| …中文字幕亚洲乱,97人妻无码费视… | 乱性AV| 亚洲日韩乱码中文无码蜜桃臀网站| 亚州AV无码国产精品| 无马一区二区| 麻豆AV一区二区| 操逼www.| 欧美白嫩在线放| 青草一区二区| 先锋音影AV| 蜜乳AV一区二区三区四| 亚州男人天堂| 福利在线视频一区二区| 人妻-91porn| 超碰2017| 日韩一级二级三级免费看完整版国语版 | 精品国产精品一区二区| 色欲天天综合久久久无码网中文| 91少妇香蕉久久精品| 日本色婷婷| 1000部熟女视频在线观看| 蜜桃午夜视频一区二区| 97大色网| 色欧美天天| japan日本高清乱xxxx| 熟女少妇视频| 久久久内射良家| 玖玖综合.com| 女人喷水视频在线观看| 俄罗斯及免费在线看| 久久国产精品熟女人妻| 久久黄黄| 日韩人成网站在线播放| 精品一级毛片在线观看| 后入式999| 天天夜夜久久| 青草青青久久久久久国产| 精品久久久av无码免费| 亚洲AV永久无码精品成人调教| 青娱乐av在线| 亚洲精品视频在线播放| 国产av强奸美女| 欧美东京热青青草| 天天拍天| 九草在线大香蕉| 6080yy午夜理论三级一区二区三区无码| 中日亚韩免费视频| 成人五月天丁香激情综合| 后入式999| 超碰99热中文字幕| 男女打扑克高清网站| 色牛牛AV| 亚洲成a人片在线观看中文!!!| 无码人妻一区二区三区免费九色| 欧美最大综合网| 一区 欧美 日韩 麻豆| 校园春色五月天| 精品女同一区二区三区| 熟女91网| 青青草中出视频| 91色堂| 亚洲精品一卡二卡三卡福利视频网站| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 精品9999| 性欧美| 青青草女人天天干| 91九色丰满高潮| 人妻天天爽夜夜爽2| 九九九九免费视频| 亚洲宗合网| 欧美在线色| 精品无码久久久久| 日本中文字幕一区| 熟妇激情| 夜夜国自区| 青青草一区二区三区四| 97超碰国产亚洲精品| 欧亚揄拍偷拍精品视频| 国产中文日韩欧美一区二区三区人妻丝袜美腿| 亚洲丰满很很操| 亚洲欧美91√| 日韩无码服务区| 精品丰满熟妇人妻一区| 91黄站| 精品黄色电影| 秋霞一级鲁丝片A片| 国产中文字幕在线观看| 99国产精品人妻人伦| 欧美亚洲综合色| 91精品无码人妻系列| 最新国产精品| 蜜乳视频网站| 手机在线人成免费视频| 国产精点久久久成人| 亚洲AV永久无码一区仙野| 再深点灬舒服灬太大了好硬好爽| AA丁香综合激情| 熟妇人妻精品一区二区视频色欲| 超碰亚洲欧美日韩无| 日韩中文字幕在线视频观看| 亚洲另类综合欧美| 立川理惠加勒比无码| 精品夜夜澡人妻无码| 超碰爽人妻熟女Av| 国产一二三在线视频五十路| 亚洲性感丝袜诱惑在线观看| 激情丁香五月婷婷| 亚洲怡春院| 欧洲亚洲人人爽爽视频| 97 色综合| 狠狠操夜夜| 一区二区 电影 亚洲| 欧美经典一区二区三区 | 成人5码视频| 精品国产久热在线观看| 夜夜操天| 欧美 亚洲 综合 制服 另类| 97在线视频免费看| 国产多人在线观看视频| 日本在线播放不卡一区| 欧美不卡在线美女| 日日噜噜夜夜久久亚洲一区二区| 超碰超碰超碰超碰的大鸡吧操黑丝袜| 亚欧色图在线激情| 国产亚洲中文不卡二区| 熟妇人妻精品一区二区视频色欲| 久久综合女优| 91欧| 国产最新小视频在线播放下载| 在线视频日韩欧美国产| 欧美日韩人人早| 91超碰在线观看| 日韩肏逼视频| 久久精品国产亚洲AV成人直播| 天美麻豆精品视频99| 亚州色阁| 天堂v无码免费视频| 色综合久| 久久綜合很很很| 9久久久久久| 激情抓乳插进去啪啪啪日韩| 欧美亚洲综合色| 老熟妇一区二区三区啪啪| 国产综合久久久麻桃个| 亚洲欧洲日韩国产自在线| 久久久9品一区二区三区| 国产九九九九九九| 久久久久久亚洲Av无码精| 日本污ww视频网站| 丁香婷婷激情五月天无毒不卡| 97操b| 九九久久一区二区伦理| 91国产丝袜足交精品视频| 国产中文字幕在线观看| 91挑色欧美| 国产97在线视频| 人妻99p| 美欧老女人97| 成人免费性爱视视| 日本三级中国三级99人妇网站| 久久久国产精品亚洲精品| 精品一级毛片在线观看| 91碰碰| 亚洲自拍青操视频| 飘花国产午夜精品不卡| 欧美精品另类人妖xxxx| 中文字幕一二三av| 日韩欧美成人午夜福利| 日韩中字av一区| 97国产精品在线观看| 国内偷拍精品一区二区| 狠狠 91| 国产97在线播放| 在线播放一级无码视频| 久久有碼| 伊人一级免费黄片| 91亚州日韩高清| 抽插一区二区视频| www网站黄| 骚熟女吞| 欧美性爱第一区| 精品免费1| 亚洲欧美999| 99re99视频在线免费观看| 成年女人黄网站| 伊人操| 午夜福利在线合集| 蜜臀少妇一区二区| 激情小说亚洲视频| 国产成人网址| 国产精品黄色三级av| 欧美综合色图片| 久操操| 成人免费在线网站| 欧美亚综合色图| 操逼不卡中文字幕| 18精品一区| 婷婷色香| 久久亚洲国产成人| 美女啊啊啊啊pc| 9999久久久| 天天干夜夜操网| 亚洲自拍另类丝袜综合| 伊人激情| 女人双腿搬开让男人桶| 大香蕉视频一二三区| 中文字幕精品日韩中文字幕| 99视频只有精品| 久久99九九九九6666免费观看软件| 1禁看欧美黄片免费看| 国产性爱欧美性爱在线| 午夜爽爽爽在线观看永久入口姬片| 欧美色天堂网在线视频| 亚洲1区2区三区高清中文字幕| 青青国产在线拍揄自揄拍| 中文字幕人妻资源在线| 熟女欧美日韩综合婷婷| 国产一区二区三区免费视频在性观看 | 国产日本熟女顶级一区二区三区视频 | av激情亚洲五月天| 亚洲欧美清纯| 天天影视综合色| 97久久久久久久久久| 欧美色另类| AV一区观看| 丰满人妻一区| www.av在线观看| 久草看看看| 一本久道久久综合狠狠爱| 大香蕉日韩| oumeisetu综合| 欧美欧美啪啪视频| 激情四射五月天| 日韩视频啪啪| 日韩精品午夜操呦呦不卡影院| 日韩AV电影网站| 久操91视频| 激情综合网一盗摄| 九月色婷婷| 无码国产精品96久久久久孕妇| 欧美狠狠鲁| 色色色欧美| 久久久内射良家| 天天天天操| 国产精品白领在线观看| 日韩精品高清资源在线| 啊好爽受不了无码| 日韩在线97| 欧美亚洲se91| com 首页 18岁 禁区 女优 免费 精选 同城 | 九九人妻| 人人性爱视频免费| 麻豆精品天美| 国产精品国产拍高清AV| 男啪女色黄无遮挡免费观看| 91美女看B| 五月综合色| 午夜国产成人精品视频| 蜜屁Av| 自拍偷拍2025在线观看| 大香蕉中文| 日本中文字幕一区| 91|九色|国产熟女| 日韩簧片免费看| 国产精品一二三| 99热综合在线| 国产尹人在线视频免费| 中文字幕精品探花视频| 激情四射婷婷六月天| 五月激情天| 亚洲av国产av综合av卡| 九九九九九九视频免费| 亚洲 国产 精品一区| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 国产精品肉丝自拍| 亚洲国产午夜真人一级片中文字幕精品黄网站 | 日本不卡在线二区三区| 亚洲drav色图| 自拍偷拍国产欧美日韩韩| 深夜激情 | 91美女在线视频| 9l视频自拍9l九色成人| 亚洲AV成人无码一二三久久| 东北女人高潮视频| 麻豆伊人网| 99久久com免费视频′| 在线观看岛国有码| 久久久精品中文字幕爱豆| 中文字幕无码不卡啪啪| 亚洲中文字幕日产无码久久| 99热网站| 五月婷婷丁香中文字幕| 久久精品国产亚洲妲己影视| 蜜臀久久99精品久久久久久婷婷| 新视频sss国产| 亚洲熟女国产综合另类| 99亚洲精品| 国产第25页在线观看| 囯戸精品高潮呻吟旡码| 一起草视频在线| 亚洲一区中文字幕| 大香蕉之青青草原| 丰满少妇一区二区三区四区观看| 天天爽天天爽| 精品国产久热在线观看| 黄片免费久久久久久久| 日本性爱视频一级| 中文一区二区三区影院| 少妇精品| 国产视频97| 国偷自 一区二区| 欧美72网页| 欧美黄色图片| 亚洲男人天堂2012| 乱日视频| 99久久九九| 在免费jIzzjIzz在线视频| 亚洲国产精品9999在线观看| 免费中文综合精品| 五月亭亭六月丁香| av三级电影在线播放| 9Ⅰ超碰| 天天夜夜rb| 国产中文字幕在线| 超碰到97情色| 国内精品久9| 蜜桃臀AV在线| 久区视频| 色原狠狠天天天| 国产精品白丝www| 亚洲中文字幕久久无码精品| 9美女超碰在线免费观看| 久久久久久久综合,国产| 69人妻精品丰满熟女区| 日本最新免费韩国1区2区视频播放| 强上我不卡卡| 久久久久久久久久久久黄色 | 黄日韩| 伊人国产视频| 国产白丝在线| 欧美大干日韩| 蜜桃臀久久| 亚洲成人在线乱码色午夜| 91男人综合| 黄页| 麻豆精品一区二区三区四区免费观看| 中文字幕精品探花视频 | 操逼视频免费日韩无码| 91三级理论片播放器| 欧美在线观看综合国产| 91色久| 992这里有精品| 天美传媒国产原创中文字幕亚洲欧美另类| 久久五月份| 色婷婷久久| 人人色97| 天堂日本亚洲欧美| 日韩精品一区二区三区色欲| 亚洲图片激情小说| 欧美日韩色| 亚洲av青草久久一区二区| 国产强奸乱伦欧美| av日韩国产一区二区| 乱伦AVxx| 91oumei| 色老汉色| 中文字幕免费看| 欧亚三区动漫| 亚洲国产成人精品久久久国产成人一区二区 | 98福利在线视频| 欧美日韩亚洲少妇寂寞影院正在播放| 欧美色91| 伊人操你| 在线观看av区| 国产九月婷婷| 99色日| 精品丰满熟妇人妻一区| 亚洲不卡三级手机播放| 97在线观看播放视频| 国产无马av| 超碰97爽| 国产一| 91宗合网| 人人看人人爰人人操| 一个人免费HD91视频| 久都青青视频| 欧美亚洲美少妇一区二区| 亚洲做性| 久久性爱视频99| 人、人、摸,人、人、草| a久久| 屌妞视频久久久久久久| 四虎AV在线播放| 国产精品无码成人精品| 免费一级毛片在线视频观看| www.狠狠干.coom | 北条麻妃性愛视频| 91日韩网站| 成人性爱免费播放| 成人性爱高清视频免费看| 欧美人妻精品| 国产精品毛片| 性久久久| 涩五月婷婷| 先锋音影AV| 久久精品导航| 午夜精品久久久久久久久久蜜桃 | ss久久| 亚洲天在线| 欧美大波激情xxxx| 9 9精品一区二区三区| 女人一区| 九久精品| 91丨熟女丨丰满熟女| 日本一二区免费 | 亚洲天堂精品日韩电影| 亚洲AV秘 精品久久老牛影视| 亚州操操穴网| 东京热伊久| 无码最新| 无码欧美有限公司| 91久久婷婷| 色黄色美女大长腿午夜视频| 欧美亚洲国产自久久| 亚洲精品97p| 18禁网站在线播放| 怡红院怡春院| 精品久久久久久久| 欧美一级黄色18片免费看| 精品十三区| 欧美天天弄| 91久热| 欧美91久久久久| 激情 欧美 亚洲 小说| 精品一区二区三区蜜桃臀赵总| 精品丰满熟妇人妻一区| 国产高清免费不卡av| 亚洲欧美中日韩| 伊香蕉综合久久久久久久噜噜噜| 在线观看黄色电话| 黄日韩| 亚洲激情综合另类男同| 九九九九久久久久| 色色色综合网| 九九九九九九免费视频| 亚洲第一狼人丝袜美女另类| 免费农村成人少妇人妻Aa一区二区视频| 日本色日夜干| 亚洲午夜福利在线影院| 99国产精品免费| 亚洲高清综合网| 日韩人妻一区二区精品| 91精品久久久久久久久久| 国产精品美女在线一区| 丝袜无码a片| 免费a级毛片av无码久久精品中文字幕| 日韩免费人妻色情网站| 久久系列| 一区二区偷拍拍视频| 少妇无码999| 大香蕉久操| 久久男人| 九九色图| 久久久555| 丁香婷婷九月| 色区97| 日本九九九九| 成人三级片一区二区三区视频| 探花激情视频| 超碰人人干天天射| 91久热| 91制服丝袜中文字幕| 亚洲色啪| 成人久久久| 欧美色图99| 国产男女无套视频免费观看| 国产乱码精品久久久久久| 国产视频一区二区三区在线免费观看 | 久久亚洲人妻| 91色色网站| 青娱乐av在线| 国内毛片无遮挡国产| 国产一区二区三区久久精品太古里| 成人AV超碰免费在线| 东北老女人的激情视频| 亚洲无码太久| 黄久在线| 麻豆这里只有精品| 91亚洲情色| 黑操B| 性饥渴少妇av无码毛片| 欧美亚洲AN| 国产精品久久成人免费| 自拍啪啪视频| 私色综合网| 精品国模无码| 久操影视| 婷婷五月天福利| 91操熟女| 超碰天天操你比| 欧美人妻精品一区二区| 九九这里只有精品| 黑丝少妇| 91丨九色丨国产丨人妻在线| 国产91精品久久久久久久网曝门| 操逼操逼逼操操逼91| 国产97色在线 | 亚洲| 日韩一区二区精品视频| 日韩精品在线放| 久久久久斤小| 91无码中出人妻视频| 亚洲日韩人妻中文字幕一区| 亚洲和欧美裸体美女双飞视频| aⅴ日韩成人电影av在线免费看av大全 | 欧美天天射| 中文字幕一区 二区三四五 区日 日骚| 天天干天天舔| 亚洲好色人妻| 97操97色| 国产熟女免费观看久久| 性一级黄色录像片网站导航| 96爱综合| 性色av婷婷久久一区二区点复制| 97超碰日韩| 性性久久| 嗯嗯啊操我| 日韩中文字幕人妻视频| 欧美九九九| 五十路熟女工口 | 日本精品999| 亚洲视频二区| 婷婷色一区| 欧美人妻精品一区二区| 麻豆色99999| 狠狠夜色午夜久久综合在线| 欧美性爱五月天| 黑人美精品 A片| 日本二区不卡| 亚洲诱惑| 美女啊啊啊啊啊啊啊| 粉嫩绯色AV一区二区在线| 亚洲日韩美女丝袜美腿人妻视频| 欧美色图 人妻| 久久超碰爱| 亚洲黄网在哪免费看| 免费在线看黄片av| 亚洲脚交| 蜜桃视频一区二区三区 | 欧美78P| 北京美女一区二区| 97国产色综合| 亚洲成熟国产精品美女| 免费精品无码一级毛片牛牛影视 | 曰韩少妇无码| 另类综合另类| 99ri在线视频| 激情综合二| 无码 有码 国产18p| 激情综合网五月婷婷| 亚洲少妇色| 高树玛利亚无码流出| 亚洲瓯美色图| 伊人久大| 2024年最新色情网站在线观看| 亚洲av无码国产精品字幕| 99久久久无码精品国产人| 婷婷久久大香蕉| 大鸡吧尹人在线| 无码人妻精品一区二区三区九九| 超碰偷拍| 五十路六十路七十路熟婆| 日日噜噜夜夜狠狠视频无| 在线日韩日本亚洲国产| 亚洲麻豆18发?| 久久精品99久久久久久| 啊啊啊好大好深| 婷婷丁香五月天综合东京热| 成人久久久精品| 精品久久久av| 岛国AB视频| 大香蕉乱级| 97爱| 91岛国动作片| 中文字幕国产| 男人的天堂久久狠| 日本超碰97日韩精品人妻| 亚洲.欧美.丝袜.中文.综合| 久久精品店| 国产久久av| 欧美精品23| 2018天天日天天日| 操东北女人| 久操免费观看| 久久久久白虎| 后入合集| 精品在线78| 激情四射婷婷六月天| 亚州男人的天堂| 97超级欧美| 97精品视频免费| 人人澡综合涩| 亚洲综合性感在线| 色 婷97| 91美腿丝袜在线观看| 91亚·色| 啊视频在线| 五月丁香婷婷色| 99久久久99久久91熟女| 欧洲熟妇xxXx欧美老妇裸体| www…国产操逼| 日韩欧美国产高清视频| 秋霞曰韩R级| 亚洲国产欧美中文永久| 精品一啪| 黄aaaaaaaaaaaaaaaaaa色网站| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 国产亚洲色婷婷久久99精品91 - 百度| 91色亚洲| 成人国产二区三区在线,男女精品。| 国产自产22区| 美女AV一区二区| 99久热精品99re6热| 六九九九| 亚洲国产午夜真人一级片中文字幕精品黄网站 | 超碰人妻97| 欧美一区二区传媒| 久久久久国产无av| 亚洲激情综合| 98一区二区精品| 抽查国产福利主播| 91中文精品日韩欧美在线 | 岛国小电影| 精品国产72| 狠狠做深爱婷婷久久二区| 久久久96精品| 久草免费在线视频| 欧美人黑A片无码免视费| 久久免费9| 放黄片放3级黄片没穿衣服| 超碰在线欧美性爱激情| 国产成人欧美一区二区三区的国产| 午夜偷拍久久熟女| 手机在线观看不卡无码av| 久久ww| 九色 人妻 大香蕉| 欧美日韩大陆黑人少妇99| 超碰到97情色| 99久在线精品99re8蜜桃| 热99这里有精品综合久久 | 日本99久久| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 午夜天堂精品久久| 欧美夜夜骑视频| 亚洲九九视频| 秋霞怕怕片| 日本三级网页| 九热视频| 国产熟女一区二区丰满| 91青青在线视频| 97碰久久| 成全在线观看免费观看| 极品色www影院| 伊人影院在线理论播放| 97在线资源| 男人天堂东京热| 国精综合一二三区影视| 欧美性五月| 日本人妻最新在线中| 免费作爱一级视频| 小草精彩毛片| 裸模AV女优| 久久久999国产| 亚洲国产91精品一区二区久久| 日本女人操逼| 青青操在线亚洲视频观看欧美在线 | 亚洲天天天| 在线中文字幕| 超碰碰碰碰| 狠狠躁天天躁日日躁| 日韩特一级久久| 色香AV| 欧美,日韩,亚洲视频| 操我啊啊啊啊啊| 青青草影视蜜久久| 中文字幕美女91| 国产三级日产三级韩国三级| 青青草自拍视频在线播放| 91青青在线视频| 人人操人人干xxx| 综合五月婷婷| AND人妻系列| 久操免费视频| 夜夜操青青草| 极品五月天噜噜| 久久婷婷苹果| 精品三级在线专区| 丁香九月激情啪| 亚洲欧美setu| 3PAV乱伦视频| 操一区| 丝袜狠狠草尤物 91| 色波多| 色吧综合网| 啊啊啊在线看| 大香蕉一区二区在线观看.| 亚洲色图超碰在线| 精品少妇一区二区| 尤物视频一区| 四虎影视在线| 91精品导航| 亚洲 欧美 手机在线观看| 中文字幕天天操| 91九色丨风韵犹存| 天天天天天干夜夜夜夜夜操| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 2017天天插| 国产精品分类在线观看| 九色97| 国语精品av| www成人啪啪18秘 免费| 中文字幕精品乱码| 内射夫妻三片| 天天影视网综合少妇| 麻豆一区二区三区在线看| 中文字幕一区二区韩| 高潮嗯啊性感美女久久久| 色综合一本| 国产 日韩 欧美 人妻 熟女 中文 69人妻精品一区二区绯色 | 黄骗免费网站| 亚91亚洲网| 草草草草视频| 欧美激情综合| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 国产精选三级在线观看| 香蕉免费一区二区三区不读 | 日本在线不卡一二区| 学生妹天天看| 口爆吞精在线观看| 青青草大香蕉在线视频| 人人操人人插 - 百度 - 百度| 啊啊啊com| 中文字幕三四区| 亚州精人品大香蕉| 亚洲在饯| av九九| 殴美色网| 色婷婷影视| 人妻精品一区二区三区| 丁香五月婷婷啪啪| 亚洲天在线| 色婷婷丁香| 久久黄黄黄| 亚洲激情综合| 国产久久久| 午夜男人天堂| 婷婷五月天激情四射| 婷婷五月天补不补| 亚洲综合首页| 97色插| 日韩无码视频黄色| 亚洲大色堂| 人妻干天天| #NAME?| 国产 亚洲 丝袜 制服| 五月天欧美色图| 国产精品老师| 男人精品天堂一区| 中文字幕亚韩| 欧美综合色图片| 激情五月天婷婷| 黑人娇小av在线播放| 极品少妇99| 久久久精品中文字幕爱豆| 嗯嗯啊好大| 午夜欧美女人操逼| 亚洲黄色电影| 欧美熟爽综合| 黄片qw| 330dv亚洲成年视频网| 五月亭亭六月丁香| 国产一级黄色片在线观看| 成人一区二区三区四区| 久久av成人无码免费| 97在线亚洲| 91亚洲黑人| 久久精品国内Av熟女高清| 久久久久无码一妻区| 国产18精品亚洲精品| 欧美色另类|