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

ARTICLE DETAIL

資訊詳情

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

代碼統(tǒng)計(jì)工具 Source Counter:統(tǒng)計(jì)口徑、批量盤(pán)點(diǎn)與五大踩坑指南

代碼統(tǒng)計(jì)工具 Source Counter:統(tǒng)計(jì)口徑、批量盤(pán)點(diǎn)與五大踩坑指南 簡(jiǎn)介這是一款專門(mén)用于軟件工程度量的代碼統(tǒng)計(jì)工具面向項(xiàng)目管理者與開(kāi)發(fā)者可快速統(tǒng)計(jì)C、Java、Python、JavaScript等源碼的行數(shù)、注釋與空行從而量化開(kāi)發(fā)工作量并輔助代碼質(zhì)量分析。壓縮包共45個(gè)文件約2.31MB主要包含可執(zhí)行的exe主程序、運(yùn)行所需的dll動(dòng)態(tài)庫(kù)、多語(yǔ)言mo本地化文件、HTML報(bào)告模板、界面圖片與配置文件等解壓即可運(yùn)行。目前已有752人學(xué)習(xí)下載。工具支持按文件或類輸出統(tǒng)計(jì)報(bào)告并可基于環(huán)路復(fù)雜度評(píng)估維護(hù)難度有助于提前發(fā)現(xiàn)潛在問(wèn)題附帶wxWidgets運(yùn)行組件、MinGW環(huán)境以及中/日文語(yǔ)言包適合需要建立輕量級(jí)代碼度量環(huán)境的團(tuán)隊(duì)或個(gè)人收藏使用。注意文中命令與參數(shù)以工具包內(nèi)自帶說(shuō)明為準(zhǔn)如與你手上的版本存在差異以包內(nèi)文檔和幫助輸出為最終依據(jù)。這是這類統(tǒng)計(jì)工具的通用通病先寫(xiě)在前面。1. 代碼統(tǒng)計(jì)工具 Source Counter它解決的不是數(shù)字而是口徑接手別人項(xiàng)目時(shí)最常遇到的一幕對(duì)方說(shuō)「這個(gè)系統(tǒng)大概 6 萬(wàn)行代碼」你打開(kāi)工程一數(shù)好家伙13 萬(wàn)行——差別大到?jīng)]法溝通。這不是誰(shuí)在吹牛而是兩個(gè)人用了完全不同的統(tǒng)計(jì)口徑。代碼統(tǒng)計(jì)工具 Source Counter 解決的正是這個(gè)問(wèn)題它把代碼行、注釋行、空行、混合行按一套固定規(guī)則拆開(kāi)輸出一份可復(fù)現(xiàn)的報(bào)告讓你和別人說(shuō)的是同一份數(shù)據(jù)。它是個(gè)免安裝的本地小工具雙擊能用也支持命令行批量調(diào)用適合三類人接外包要報(bào)工作量的人、寫(xiě)論文或報(bào)告需要寫(xiě)「項(xiàng)目規(guī)?!沟娜恕⒁约岸ㄆ诒P(pán)點(diǎn)內(nèi)部代碼庫(kù)的開(kāi)發(fā)團(tuán)隊(duì)。這篇文章我會(huì)從統(tǒng)計(jì)口徑講到批量盤(pán)點(diǎn)腳本再把我踩過(guò)的五個(gè)坑完整擺出來(lái)。2. 統(tǒng)計(jì)口徑先行三類行數(shù)定義與 Source Counter 的關(guān)鍵參數(shù)先別急著雙擊運(yùn)行。任何統(tǒng)計(jì)工具給出的數(shù)字是否可信取決于你用什么口徑去要求它。我見(jiàn)過(guò)太多人拿到工具直接全盤(pán)默認(rèn)掃描出來(lái)的報(bào)表比自己拍腦袋猜的還離譜原因就是沒(méi)先想清楚「我要統(tǒng)計(jì)的是哪種行數(shù)」。2.1 三種行數(shù)定義物理行、邏輯行與有效代碼行的取舍行數(shù)的定義大致分三類。物理行Physical Lines是按換行符數(shù)的一段代碼寫(xiě)成三行就是三行寫(xiě)成一行就是一行完全取決于作者的書(shū)寫(xiě)習(xí)慣——同一個(gè)文件換個(gè)格式化工具再跑數(shù)字可能立刻變了。邏輯行Logical Lines以語(yǔ)句為單位在 C 系語(yǔ)言里大致對(duì)應(yīng)分號(hào)但對(duì) Python 這種縮進(jìn)敏感的語(yǔ)言判斷邏輯行的算法會(huì)復(fù)雜很多不同工具給出的結(jié)果差異極大。有效代碼行SLOCSource Lines of Code是大多數(shù)人真正想看的「到底寫(xiě)了多少有效代碼」但它的統(tǒng)計(jì)恰恰是最難的注釋里的行算不算、空行算不算、只有大括號(hào)的行算不算各工具口徑五花八門(mén)。Source Counter 這類本地統(tǒng)計(jì)工具實(shí)際做法是把文件拆成幾個(gè)字段來(lái)報(bào)總行數(shù)、代碼行、注釋行、空行、混合行。這個(gè)「混合行」值得單獨(dú)說(shuō)——它指一行里既有代碼又有注釋的行。很多工具不拆這一列而是直接把帶注釋的整行歸進(jìn)代碼行或者整行算成注釋行兩種處理都會(huì)讓最終數(shù)字偏差 5% 到 15%。所以我拿到一個(gè)統(tǒng)計(jì)工具第一件事不是看它能統(tǒng)計(jì)多少種語(yǔ)言而是看它怎么處理混合行。2.2 擴(kuò)展名與注釋規(guī)則讓工具認(rèn)識(shí)你的項(xiàng)目語(yǔ)言第二步是配置擴(kuò)展名和注釋規(guī)則。默認(rèn)情況下統(tǒng)計(jì)工具內(nèi)置了一批常見(jiàn)語(yǔ)言的映射關(guān)系但真實(shí)項(xiàng)目里總有例外比如.jsx和.tsx文件可能沒(méi)有被識(shí)別成前端代碼.vue單文件組件里混著 HTML、JS、CSS 三種片段.sql腳本里注釋用的是--而不是//。如果擴(kuò)展名沒(méi)映射對(duì)那這個(gè)文件要么整個(gè)被跳過(guò)要么被當(dāng)成純文本逐行數(shù)一遍統(tǒng)計(jì)結(jié)果當(dāng)然失真。我一般會(huì)先建一個(gè)配置文件把語(yǔ)言、擴(kuò)展名、注釋符號(hào)、排除目錄全部固定下來(lái)而不是每次手動(dòng)勾選。以下是這類工具里很常見(jiàn)的配置寫(xiě)法原理是通用的鍵名在不同版本里略有差別但思路一致; Source Counter 配置示例統(tǒng)計(jì)口徑全部固定在這里 extensions.c,.h,.cpp,.hpp,.java,.py,.js,.ts,.jsx,.tsx,.go,.sql,.sh block_comment/* */ # -- // formatternone filter_excludenode_modules;build;dist;.git;third_party;venv read_encodingauto report_formatcsv report_detailfile,language,code,comment,blank,mixed,total幾個(gè)關(guān)鍵鍵要理解別照抄就完事。extensions決定哪些文件參與統(tǒng)計(jì)漏了.vue或.sql這類文件會(huì)被無(wú)視block_comment列的是多行注釋和行注釋的符號(hào)Python 的#、SQL 的--、C 系的//都要寫(xiě)進(jìn)去filter_exclude相當(dāng)于統(tǒng)計(jì)黑名單node_modules和build這類目錄不排除結(jié)果會(huì)虛高到?jīng)]法看read_encoding建議設(shè)成auto讓工具自動(dòng)探測(cè)編碼——至于不設(shè)這個(gè)值會(huì)翻什么車我在第四章詳細(xì)說(shuō)。下表是我自己常用的一套語(yǔ)言與擴(kuò)展名對(duì)應(yīng)關(guān)系可以直接抄語(yǔ)言推薦擴(kuò)展名注意點(diǎn)C/C.c, .h, .cpp, .hpp頭文件里可能混入大量宏定義Python.py配置.pyi存根文件是否統(tǒng)計(jì)前端三件套.js, .ts, .jsx, .tsx壓縮過(guò)的.min.js建議排除SQL.sql留意存儲(chǔ)過(guò)程里的注釋是--Shell.sh, .bash長(zhǎng)段注釋有時(shí)用: EOF配置類.yml, .json, .toml默認(rèn)可不統(tǒng)計(jì)看你需求2.3 常用參數(shù)與選型理由為什么用本地工具而不是在線統(tǒng)計(jì)關(guān)于參數(shù)整理一份最常用的幾個(gè)按我自己的使用頻次排列--project指定要統(tǒng)計(jì)的根目錄--exclude排除目錄多個(gè)路徑用分號(hào)或逗號(hào)分隔--format指定輸出格式一般有txt和csv兩種批量盤(pán)點(diǎn)我建議用csv--output指定報(bào)表輸出路徑--encoding指定讀取源碼的編碼默認(rèn)是auto自動(dòng)探測(cè)。前三個(gè)參數(shù)幾乎每次都要用后面兩個(gè)按需。選 Source Counter 而不是別的方式我的理由很簡(jiǎn)單第一代碼不用上傳到任何線上服務(wù)本地跑完就完事遇到公司內(nèi)部項(xiàng)目沒(méi)有隱私顧慮第二它能把口徑固定成配置同一份配置下次還能復(fù)用第三批量盤(pán)點(diǎn)多項(xiàng)目時(shí)能走命令行接私活時(shí)一個(gè)腳本把所有客戶項(xiàng)目的代碼規(guī)模一次性拉出來(lái)。自己寫(xiě)正則腳本統(tǒng)計(jì)行數(shù)看起來(lái)靈活但處理多行注釋嵌套、字符串里包含注釋符號(hào)這些情況時(shí)正則方案會(huì)無(wú)休止地吞邊界條件最后維護(hù)成本遠(yuǎn)超工具本身。2.4 先跑基線再看趨勢(shì)統(tǒng)計(jì)的兩種用法統(tǒng)計(jì)工具在實(shí)際使用中有兩種完全不同的用法很多人只用了第一種。第一種是「盤(pán)點(diǎn)現(xiàn)狀」就是跑一次看當(dāng)前代碼量多少用于報(bào)價(jià)、匯報(bào)、寫(xiě)論文。第二種是「對(duì)比趨勢(shì)」同一份配置固定下來(lái)隔一段時(shí)間跑一次看代碼量增長(zhǎng)了多少、注釋率是上升還是下降。第二種用法更有價(jià)值因?yàn)樗鼙┞俄?xiàng)目的真實(shí)健康度一個(gè)注釋率持續(xù)下降的項(xiàng)目往往意味著文檔正在腐化一個(gè)空行占比異常高的項(xiàng)目可能是某個(gè)同事把大段注釋刪光了只留空行。所以我建議你把配置文件當(dāng)作項(xiàng)目資產(chǎn)來(lái)管理放在倉(cāng)庫(kù)的tools/目錄下而不是放在自己電腦的臨時(shí)文件夾里。這樣團(tuán)隊(duì)其他成員拉下來(lái)跑出來(lái)的數(shù)據(jù)和你在本地跑出來(lái)的完全一致。這一點(diǎn)做到位后面所有匯報(bào)都省去了解釋「你為什么和我數(shù)字不一樣」的功夫。3. 從解壓到批量盤(pán)點(diǎn)命令行跑統(tǒng)計(jì)與報(bào)表字段說(shuō)明配置文件準(zhǔn)備好了工具也下載好了接下來(lái)就是實(shí)際操作。這一章涵蓋三個(gè)落地場(chǎng)景單項(xiàng)目統(tǒng)計(jì)、多項(xiàng)目批量盤(pán)點(diǎn)、以及拿到報(bào)表后怎么看。3.1 拿到工具包之后先看說(shuō)明文檔再跑第一個(gè)命令下載解壓之后別急著雙擊主程序。先花兩分鐘看看包里的說(shuō)明文件確認(rèn)主程序是圖形界面還是命令行工具以及支持哪些參數(shù)。不同版本的參數(shù)名可能有差異但幫助命令一般是通用的在終端里切到工具目錄運(yùn)行主程序并帶上--help或/help參數(shù)能列出全部可用選項(xiàng)。路徑方面有一個(gè)小坑如果項(xiàng)目路徑里帶空格命令行調(diào)用時(shí)要給路徑加引號(hào)否則工具會(huì)把路徑攔腰截?cái)鄨?bào)錯(cuò)。另外建議把工具解壓到一個(gè)固定的純英文路徑下比如D:\tools\sourcecounter\不要放在中文目錄里某些本地工具對(duì)路徑編碼處理不友好放在中文路徑下會(huì)出現(xiàn)不明所以的「文件打不開(kāi)」錯(cuò)誤。3.2 單項(xiàng)目統(tǒng)計(jì)從圖形界面到命令行圖形界面的操作流程通常是選擇根目錄、確認(rèn)擴(kuò)展名配置、點(diǎn)開(kāi)始統(tǒng)計(jì)、查看結(jié)果、導(dǎo)出報(bào)表。第一次用圖形界面沒(méi)問(wèn)題它能幫你直觀地看到每個(gè)文件夾的分布情況。但如果同樣的事情要做第二次就別再點(diǎn)界面了——命令行更穩(wěn)定不會(huì)因?yàn)槭只┻x某個(gè)目錄導(dǎo)致數(shù)字對(duì)不上。以下是我經(jīng)常用的一個(gè)單項(xiàng)目統(tǒng)計(jì)腳本#!/usr/bin/env bash # 單項(xiàng)目代碼統(tǒng)計(jì)固定配置、固定輸出位置 TOOL./sourcecounter PROJECT./src OUT./reports/project_size.csv $TOOL \ --project $PROJECT \ --exclude build,dist,third_party \ --format csv \ --output $OUT \ --encoding auto echo 統(tǒng)計(jì)完成報(bào)表輸出至 $OUT這個(gè)腳本的邏輯很直白第一段變量定義把工具路徑、項(xiàng)目路徑、輸出路徑集中放在一起換項(xiàng)目時(shí)只改變量不改命令第二段調(diào)用主程序四個(gè)參數(shù)分別指定項(xiàng)目根目錄、排除目錄、輸出格式、輸出路徑。排除目錄這里用逗號(hào)分隔多個(gè)目錄都能寫(xiě)。--encoding auto是建議值讓工具自動(dòng)探測(cè)源碼編碼避免手動(dòng)指定錯(cuò)了導(dǎo)致全盤(pán)亂碼。最后一行輸出提示信息方便在批量跑的時(shí)候知道每個(gè)項(xiàng)目是否完成。如果你是在 Windows 環(huán)境下把這段邏輯寫(xiě)成count.bat即可參數(shù)本身不需要改動(dòng)。順手提醒一句腳本里給路徑加引號(hào)是為了兼容帶空格的目錄比如E:\Work Projects\demo這類路徑不加引號(hào)必炸。3.3 多項(xiàng)目批量盤(pán)點(diǎn)一個(gè)腳本匯總所有客戶項(xiàng)目接外包或者做部門(mén)代碼盤(pán)點(diǎn)時(shí)你面對(duì)的往往不是單個(gè)項(xiàng)目而是十幾個(gè)甚至幾十個(gè)倉(cāng)庫(kù)。逐個(gè)打開(kāi)工具去選目錄效率太低了。更現(xiàn)實(shí)的做法是寫(xiě)一個(gè)循環(huán)腳本把每個(gè)項(xiàng)目都統(tǒng)計(jì)一遍然后匯總成一張總表。下面這個(gè)腳本是我在盤(pán)點(diǎn)多個(gè)歷史項(xiàng)目時(shí)經(jīng)常用的核心思路是「遍歷目錄、逐個(gè)統(tǒng)計(jì)、統(tǒng)一收集」import subprocess import csv import os import glob tool rD:\tools\sourcecounter.exe # 工具實(shí)際路徑 projects_base rE:\works # 所有項(xiàng)目所在的根目錄 csv_paths [] for proj_dir in glob.glob(os.path.join(projects_base, *)): if not os.path.isdir(proj_dir): continue out_csv os.path.join(proj_dir, _size.csv) subprocess.run([ tool, --project, proj_dir, --exclude, build,dist,node_modules, --format, csv, --output, out_csv, --encoding, auto, ], checkTrue) csv_paths.append(out_csv)這段代碼先列出E:\works下的所有子目錄逐個(gè)調(diào)用統(tǒng)計(jì)工具生成_size.csv再把所有結(jié)果匯總。注意兩個(gè)細(xì)節(jié)glob.glob通配符匹配到的是完整路徑判斷isdir是為了避免把單個(gè)文件也當(dāng)成項(xiàng)目目錄subprocess.run的checkTrue會(huì)讓腳本在某個(gè)項(xiàng)目統(tǒng)計(jì)失敗時(shí)立刻報(bào)錯(cuò)而不是帶著殘缺數(shù)據(jù)繼續(xù)跑——批量處理時(shí)及早暴露錯(cuò)誤比事后排查更省時(shí)間。匯總步驟再往下就很簡(jiǎn)單了用 Python 的csv庫(kù)把所有_size.csv讀進(jìn)內(nèi)存每行加上項(xiàng)目名寫(xiě)入一個(gè)summary.csv。寫(xiě)到這一步時(shí)有個(gè)經(jīng)驗(yàn)之談?shì)敵鼍幋a用utf-8-sig而不是utf-8因?yàn)?Excel 打開(kāi)無(wú) BOM 的 UTF-8 文件會(huì)亂碼加了 BOM 就能直接雙擊查看。以下是匯總部分rows [] for path in csv_paths: with open(path, newline, encodingutf-8) as f: for row in csv.DictReader(f): project_name os.path.basename(os.path.dirname(path)) row[project] project_name rows.append(row) fieldnames list(rows[0].keys()) with open(summary.csv, w, newline, encodingutf-8-sig) as f: writer csv.DictWriter(f, fieldnamesfieldnames) writer.writeheader() writer.writerows(rows)3.4 報(bào)表字段怎么看區(qū)分「代碼行」與「總行數(shù)」拿到 CSV 報(bào)表之后每個(gè)文件的字段大致是這些文件路徑、語(yǔ)言、代碼行、注釋行、空行、混合行、總行數(shù)。匯報(bào)時(shí)最?;煜氖恰缚傂袛?shù)」和「代碼行」對(duì)外報(bào)項(xiàng)目規(guī)模時(shí)我會(huì)優(yōu)先用代碼行而不是總行數(shù)——總行數(shù)里摻著注釋和空行別人無(wú)法判斷你到底寫(xiě)了多少有效代碼對(duì)內(nèi)看代碼質(zhì)量時(shí)注釋行和注釋率就更值得關(guān)注。比如一個(gè)項(xiàng)目總行數(shù) 5 萬(wàn)代碼行 3.2 萬(wàn)注釋行 0.9 萬(wàn)空行 0.9 萬(wàn)注釋率約 22%這個(gè)比例在業(yè)務(wù)系統(tǒng)里算健康。如果注釋率低于 10%要么項(xiàng)目太新還沒(méi)開(kāi)始寫(xiě)注釋要么注釋習(xí)慣很差??招姓急冗^(guò)高則往往意味著代碼被拆得零碎或者大量無(wú)用代碼被注釋后沒(méi)刪干凈。這些解讀比單純報(bào)一個(gè)數(shù)有用得多也更能體現(xiàn)統(tǒng)計(jì)的價(jià)值。4. 常見(jiàn)問(wèn)題避坑統(tǒng)計(jì)結(jié)果偏差的五個(gè)真實(shí)來(lái)源這章是全文最想讓你認(rèn)真看完的部分。以下五個(gè)坑我都真實(shí)踩過(guò)每一條都會(huì)讓統(tǒng)計(jì)結(jié)果偏得離譜而且表面上看不出任何報(bào)錯(cuò)。4.1 編碼問(wèn)題中文注釋變成亂碼注釋行數(shù)忽高忽低現(xiàn)象同一個(gè)項(xiàng)目在 Windows 上統(tǒng)計(jì)注釋行數(shù)和在 Mac 上統(tǒng)計(jì)的結(jié)果不一樣打開(kāi)報(bào)表看到某些文件的注釋行數(shù)是 0但源碼里明明有大段中文注釋。原因源碼文件是 UTF-8 編碼但沒(méi)有 BOM 頭而工具在 Windows 下默認(rèn)按本地編碼常見(jiàn)是 GBK去讀。中文字符被解釋成亂碼后注釋起始符號(hào)可能被拆壞導(dǎo)致整段注釋沒(méi)被識(shí)別于是注釋行統(tǒng)計(jì)為 0甚至亂碼內(nèi)容被當(dāng)成代碼行計(jì)入。這會(huì)讓代碼行虛高、注釋行虛低。解決配置文件里把read_encoding設(shè)為auto讓工具自動(dòng)探測(cè)編碼如果項(xiàng)目里混著 GBK 和 UTF-8 兩種編碼文件auto也可能失效此時(shí)只能把兩種編碼的文件分開(kāi)目錄統(tǒng)計(jì)。最徹底的做法是統(tǒng)一項(xiàng)目編碼用編碼轉(zhuǎn)換工具把所有源文件轉(zhuǎn)成 UTF-8 with BOM一勞永逸。4.2 注釋誤判正則表達(dá)式和 URL 里的 // 被當(dāng)成注釋現(xiàn)象一個(gè) JS 文件里有一堆正則和 URL統(tǒng)計(jì)出來(lái)的注釋行數(shù)明顯高于實(shí)際寫(xiě)的注釋。原因統(tǒng)計(jì)工具對(duì)注釋的識(shí)別大多基于字符串掃描會(huì)把const url https://example.com里的兩個(gè)斜杠識(shí)別成行注釋起始符或者把正則表達(dá)式/\d/當(dāng)成注釋塊。字符串感知能力弱的工具在這一類文件上幾乎必然誤判。解決先看報(bào)表里的「混合行」或「注釋行」列找出注釋行占比異常高的文件人工打開(kāi)抽查。如果確認(rèn)是字符串誤判換一個(gè)支持詞法分析的工具模式重新統(tǒng)計(jì)如果換不了就在配置里把這類文件排除用別的方式單獨(dú)評(píng)估。還有個(gè)大坑是塊注釋不閉合一個(gè) C 文件里寫(xiě)了/*忘記收尾后面幾百行全部變成注釋導(dǎo)致代碼行為 0這種翻車很難一眼發(fā)現(xiàn)但通過(guò)對(duì)比相鄰版本的統(tǒng)計(jì)結(jié)果能快速定位。4.3 過(guò)濾規(guī)則失控node_modules 和 build 目錄沒(méi)排除現(xiàn)象統(tǒng)計(jì)一個(gè)前端項(xiàng)目總行數(shù) 20 萬(wàn)打開(kāi)報(bào)表一看光node_modules就占了大半或者統(tǒng)計(jì)一個(gè) Java 項(xiàng)目build 目錄下生成的代碼全被算了進(jìn)去。原因配置里的filter_exclude沒(méi)有覆蓋依賴目錄和生成目錄。很多人第一次跑統(tǒng)計(jì)時(shí)只選了項(xiàng)目根目錄沒(méi)配排除項(xiàng)依賴包里的代碼全部被當(dāng)成項(xiàng)目源碼。解決默認(rèn)排除清單建議包含這些node_modules、build、dist、target、.git、vendor、third_party、venv。如果是 Git 管理的項(xiàng)目另一個(gè)更實(shí)用的做法是直接對(duì)比兩次提交之間的變更量用git diff統(tǒng)計(jì)增刪行數(shù)這比統(tǒng)計(jì)全量代碼更能反映一個(gè)迭代周期的工作量。4.4 換行符與空行同一文件兩次統(tǒng)計(jì)結(jié)果不一樣現(xiàn)象同一個(gè)文件第一次統(tǒng)計(jì)空行 200 行代碼格式化后再統(tǒng)計(jì)變成 150 行或者同事在 Windows 上改過(guò)的文件空行數(shù)突然變化。原因換行符不一致。Windows 用 CRLFLinux/Mac 用 LF。某些統(tǒng)計(jì)工具把\r\n算成兩個(gè)字符導(dǎo)致帶回車符的空行被識(shí)別為「有內(nèi)容的行」而不是空行文件末尾如果多一個(gè)換行符部分工具也會(huì)把那個(gè)位置多算一行。解決項(xiàng)目?jī)?nèi)統(tǒng)一換行符用.editorconfig或.gitattributes固定統(tǒng)計(jì)前先跑一次格式化工具比如前端項(xiàng)目的 Prettier把所有文件換行符統(tǒng)一后再統(tǒng)計(jì)。如果只是臨時(shí)對(duì)一下數(shù)字可以接受小幅度偏差但如果是季度之間的趨勢(shì)對(duì)比換行符不統(tǒng)一會(huì)讓數(shù)據(jù)失真到?jīng)]法用。4.5 多工具對(duì)不齊不同工具統(tǒng)計(jì)結(jié)果相差 30% 以上現(xiàn)象用 Source Counter 統(tǒng)計(jì)是 5 萬(wàn)行用另一個(gè)在線統(tǒng)計(jì)工具統(tǒng)計(jì)是 8 萬(wàn)行兩個(gè)數(shù)字差出一個(gè)數(shù)量級(jí)誰(shuí)都說(shuō)服不了誰(shuí)。原因這幾乎是必然的。不同工具的統(tǒng)計(jì)口徑差異極大有的把空行算進(jìn)代碼行有的把混合行拆開(kāi)分別計(jì)有的包含注釋頭尾標(biāo)記行有的把import語(yǔ)句分行計(jì)。工具之間對(duì)語(yǔ)言邊界和擴(kuò)展名的判斷也不同所以對(duì)不齊才是常態(tài)。解決選定一個(gè)工具就固定下來(lái)所有匯報(bào)、論文、報(bào)價(jià)都從同一份配置出發(fā)并在匯報(bào)材料里注明「統(tǒng)計(jì)工具、口徑、排除目錄」這一行說(shuō)明。當(dāng)別人拿著不同數(shù)字來(lái)質(zhì)疑時(shí)不需要爭(zhēng)論誰(shuí)對(duì)誰(shuí)錯(cuò)直接把配置文件和報(bào)表甩給他讓他用同一份配置重跑一遍。做到這一步統(tǒng)計(jì)數(shù)字的「黑匣子」性質(zhì)就基本消失了。5. 把統(tǒng)計(jì)變成固定習(xí)慣規(guī)模估算與可復(fù)現(xiàn)的統(tǒng)計(jì)腳本統(tǒng)計(jì)工具學(xué)到這最后一層是把它變成工作習(xí)慣而不是偶爾想起來(lái)才跑一次。兩個(gè)小技巧分享給你。第一個(gè)是把行數(shù)換算成工作量時(shí)別只看總行數(shù)。常見(jiàn)的參考區(qū)間是業(yè)務(wù)系統(tǒng)平均每人每天有效代碼 150 到 400 行不含測(cè)試代碼注釋和空行大概要再放寬 30% 到 50%。如果你的統(tǒng)計(jì)報(bào)告里代碼行是 3 萬(wàn)行按這個(gè)區(qū)間倒推單人開(kāi)發(fā)大約需要 75 到 200 個(gè)工作日。這個(gè)區(qū)間跨度很大能輔助判斷一個(gè)需求是不是要延期但下單報(bào)價(jià)還是得結(jié)合業(yè)務(wù)復(fù)雜度行數(shù)只負(fù)責(zé)提供邊界參考。第二個(gè)是固定一份可復(fù)現(xiàn)的統(tǒng)計(jì)腳本放進(jìn)項(xiàng)目倉(cāng)庫(kù)的tools/目錄里。腳本內(nèi)容就是第三章的單項(xiàng)目統(tǒng)計(jì)邏輯固定工具路徑、固定配置、固定輸出目錄每次跑完把 CSV 提交到倉(cāng)庫(kù)留檔。這樣做的價(jià)值在于三個(gè)月后任何人拉下倉(cāng)庫(kù)跑一遍腳本得到的報(bào)表和今天完全一致——同一個(gè)項(xiàng)目在不同人手里統(tǒng)計(jì)出不同數(shù)字的爭(zhēng)論直接從源頭消失。我之前接手過(guò)一個(gè)歷史項(xiàng)目對(duì)方交接文檔里寫(xiě)「核心模塊約 3 萬(wàn)行」我跑完統(tǒng)計(jì)愣是沒(méi)找到這 3 萬(wàn)行在哪。后來(lái)把排除目錄和擴(kuò)展名配置調(diào)了一遍發(fā)現(xiàn)真正的有效代碼是 1.1 萬(wàn)行另外 1.9 萬(wàn)行是自動(dòng)生成的代碼和拷貝進(jìn)來(lái)的第三方庫(kù)。對(duì)方的「3 萬(wàn)行」沒(méi)有錯(cuò)我的「1.1 萬(wàn)行」也沒(méi)有錯(cuò)差的只是口徑。從那以后我每次接手新項(xiàng)目、接外包報(bào)價(jià)、或者季度末寫(xiě)匯報(bào)都強(qiáng)制自己先跑一遍固定配置的統(tǒng)計(jì)腳本再開(kāi)口談數(shù)字。數(shù)據(jù)有邊界才經(jīng)得起追問(wèn)。希望這篇工具拆解和踩坑記錄能幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
六月丁香综合| 4399在线观看免费高清黄色视频| 99操逼| 激情综合自拍五月婷婷色五月| 欧美成人AAA片一区国产精品| 99久久6| 色综合色色| 九九色婷| 伊人丁香五月| 亚洲色图五月丁香| 亚洲a片免费观看| 日日操夜夜撸| 五月丁香另类图片| 亚洲日日操| 五月丁香| 97热视频| 色99日韩| 九九热自拍| 日韩AV中文在线观看| 黄色一级影片| 色五月婷婷色五月婷婷色五月婷婷| 五月婷婷五月丁香综合| 五月天社区| 婷婷五月色花丁香社区| 欧美三9久九观看| 色播丁香| 99热精品中文字幕| 超碰成人在线观看| 婷婷色五月激情强奸四射| 天天天天天天天操| 丁香六月婷婷综合色| 色五月婷婷AV| 一起肏在线视频| 最近免费中文字幕大全高清大全1| 亚州操操| 99色婷婷| 丁香五月色| 操日视频| 色99色| 97碰91| 日本不卡高字幕在线2019| 国产成人在线精品| 婷婷九月丁香| 丁香五月色情| 狠狠狠狠狠狠| 在线观看免费视频| 色婷婷性爱网| 97婷婷五月| 少妇人妻丰满做爰XXX| 久久激情视频| 99原创自拍视频在线观看| 婷婷操超碰| 99热最新| 婷婷五月AV| 噜噜狠狠色综无码久久合欧美| 五月激情婷婷开心| 五月天开心婷婷激情网站 | 蜜乳久AV| 五月刺激丁香月综合| 黄桃AV无码免费一区二区三区 | 玖玖精品婷婷| 97干在线| 五月婷婷开心色伊人| 久久与婷婷| 久er7久热| 丁香婷婷六月激情文学| 五月婷婷久久内射| 五月婷婷亞洲中文| 激情六月丁| 日本九九视频| 91视频精品99| 色噜噜伊人| 77799热| 美女五月天婷婷| 99热无码精品| 五月天久久综合婷婷丁香| 色婷婷五月基地在线| 久久成人性爱| 国产精品蜜臀99| 色丁香久久久| 丁香五月色激情| 国精产品一区一区三区免费视频| 91熟妇大香蕉| 丁香六月婷婷综合| 人人爱人人添| 人妻精品一区二区三区| 色婷婷精品视频在线播放| 爱狠射| 日本婷婷在线| 色丁香婷婷美女视频网站| 就爱干 在线| 丁香午夜天| 九九热99熟女| 天天干一干| 激情五月婷婷| 亚洲婷婷91丁香| 熟女色专区| 综合色五月天| 91婷色| 色婷婷色99国产综合精品| 爆乳熟妇一区二区三区爆乳照片| 五月丁香激情深爱婷婷| 婷婷五月天色| 2050人人操免费工开爱| 国产99热在线看| 色综合日日| 五月丁香六月婷婷手机无线| 26uuu最新地址| 五月激情四射网站| www.91.com处女在线直播| 婷婷五月激情热播| 91视频一起草| 狠狠色丁香婷婷| 亚洲碰碰碰| 五月丁香色色综合| 五月综合色播播丁香婷婷| 超碰色色综合| 热久久999| 天天色综和网| 亚洲五月婷| 婷婷色资源| 大香蕉精品视频| 六月丁香五月激情婷婷| 成人AV在线电影| 久久久五月天婷婷| 欧美视频在线观看噜噜| 99在线免费视频| 六月激情丁香一道本7777| 色综合网上班开心婷婷久久| 亚洲成人一区| 插逼综合网| 伊人丁香花综合影院| 超碰成人免费| 日本欧美在线| 日日夜夜天天| 婷婷五月天激情偷拍| 丁香六月婷婷开心| 五月丁香六月在线欧美| www.五月天| 婷婷久久影院| 思思99久久| 肏日网在线看| 综合激情站| 丰满少妇猛烈A片免费看观看| 91超级碰在线| 超碰免费人妻| 色婷网| 天天天干夜夜夜操| 99久超碰| 丁香五月婷久久| 丁香五月停停基地| 激情伊人| 激情 五月 婷婷 丁香| 99狠狠| 九九美女视频| 激情视频综合| 色哟哟精品| 91se在线视频| 丁香五月综合在线| 婷婷久久婷婷色五月| 日韩色色视频www| 色五月色五天色情网址| 99在线69| www.26uuu.com亚洲电影| 国产精品91抖高| 五月婷婷网五月在线| 精品热九九| 思思国产99| 毛v一区二区视频| 亚洲五月天激情| 日韩高清成人| 九九99久久精品| 涩婷婷五月天| 亭亭玉立国色天香| 99情色五月天| 欧美精品999| 九月婷婷综合八月丁香在线观看| 99ri国产精品| 婷婷丁香五月综合| 五月婷婷六月色| 色综合色| 婷婷综合另类| 国产成人精品一区二区三区视频 | 中文字幕无码人妻少妇免费视频| 五月天涩涩| 中文资源在线a | 欧美性猛交99久久久久99按摩| 色五月视频,小说| 97人妻碰碰碰碰碰久久久久久| 亚洲AV网址| 天天天久久久| 色婷婷激情四射视频| 久热成人| 丁香婷婷月| 五月天婷婷色在线视频免费观看| 日本在线wwww| 日韩ww| 91免费看片| 激情五月天婷婷久久久久久久久久久| 在线看黄色| 免费AV播放| 五月婷婷在线播放| 婷婷五月天激情视频| 激情性爱网站| 激情婷婷五月社区| 99在线精品免费视频| 第四色大香蕉| 五月色影院| 激情图片亚洲| 亚洲综合99| 婷婷综合久久综合| 蜜乳久AV| 亚洲中文字幕AV在线| 激情AV在线| 色五月色综合| 天天综合.com| 丁香无五月网| 五月综合亚洲色| 一起草aV| 97婷婷五月激情六月丁香伊人| 久久久久9| 婷婷久久99| 亚洲A色| 五月婷婷综合色啪| 99热香港| 激情五月激情综合网一级丸片| 五月开心久久| 午夜婷婷久久 | 综合久久综合久久| 成人精品人妻| 丁香婷婷激情| 五月婷婷六月丁香玖玖玫瑰91| 激情五月婷婷综合网| 激情小说五月天社区丁香| 操逼国产91| 江苏少妇性BBB搡BBB爽爽爽 | 国产精品色色| 玖玖五月| 91色色色| 久久婷婷热| 婷婷色九月| 五月天婷婷激情在线色图| 综合在线丁香五月| 99热精这里只有精品| 精品婷婷五月视| 超碰在线91| 超碰免费大香蕉| 色婷婷色综合| 9九色首页| 伊人影院久久网| 91丁香婷婷综合久久欧美| 成人无码髙潮喷水A片| 婷婷九月色| 久久久久久久人妻| 国产偷人爽久久久久久老妇APP| 久久婷婷五月综合| 一本色道久久88综合日韩精品| 九九RE视频在线精品| 五月丁香色婷婷| 丁香五月天啪啪| 久久久久er热| 国产免费性爱| 婷婷综合偷拍| 久久99久久99精品免视看婷婷| 中文字幕在线不卡| 色噜噜,噜噜色| 亚洲乱码成人| 久久小视频| 97碰在线| 欧美69久成人做爰视频| 欧美婷婷色五月网| 色情五月综合婷婷| 亚洲99手机免费看视频| 婷婷激情综合| 99色综合| 久久加勒比| 大香蕉婷婷色| 五月丁香色狠狠干大屄| 偷偷操99| 色天堂婷婷| 久久免费干| 岛国操B不卡在线| 色婷婷综合综合网| 五月婷婷免费| 日韩人妻无码专区| 99久久超级| 99热精品超碰| 丁香六月av| 99热只有精| 五月婷婷亚洲色视频| 亚洲av成人在线| 国产精品国产成人国产三级| 九热电影av| www色色com| 678五月丁香亚洲综合| 日日做天天操夜夜爽| 人妻内射视频| caop视频| 久热9| 亚洲人妻一区二区| 天天干天天日天天操| 五月天大香蕉av| 久操干| 天天天天天天天干| 97干综合网| 亚洲情综合五月天| 97人妻碰碰中文无码久热丝袜| 五月综合777| 五月天社区| 欧美槡BBBB槡BBB少妇| 第五婷婷伊人丁香| 欧洲免费视频色| 97热视频| 国产97色在线| 综合网亚洲| 丁香六月天| 激情九九六月激情免费视频| 台湾佬天天日丁香婷婷五月天| 丁香六月啪啪| 综合AV在线| 丰满人妻一区三区三区| 五月婷婷免费| 六月丁香啪啪啪| 天天干天天干天天| 色五月噜噜| 五月丁香六月成人| 五月天中文字幕在线婷婷| 五月婷婷综合久久| 久热大香蕉| 欧美成人AAA片一区国产精品| 欧美高潮9| 久久六月天| 国产裸舞福利资源在线视频| www五月天com| 丁香六月啪啪| 五月天大香蕉AV| 成片免费播放| 狠狠色综合久久| 夜夜资源站| 五月婷婷丁香| 人妻AV在线观看| 成人欧美一区二区三区在线观看| 99热精品在线观看| 超碰在线日夜| 五月丁香久久精品在线观看| 五月天开心婷婷激情网站| 99热超碰在线| 五月婷婷狠狠久久| 色婷婷五月天天天天天天天天天| 啪啪99| 久久久亚洲精品一区二区三区浴池 | 99热99艹在线观看| 亚洲在线操| 在线观看免费视频| 97碰碰人人| 天天干天天 亚洲| www.99久| 大香蕉欧美在线| 激情五月婷婷欧美极品| 成人精品在线| 成人在线日韩欧美| 五月丁香婷婷三级| 日产精品久久久久久久蜜臀 | 色偷偷AV亚洲男人的天堂| a色婷婷| 国熟女视频| 色婷婷久久久| 五月丁香久久丝袜啪啪| 九九热精品6| 九九人人操| 99日精品视频| 亚洲激情综合| 婷婷五月丁香人妻无码高清| 五月婷婷九| 99视频内射三四| 亚洲无码激情| 99热这里只有精品3| 色婷婷五月天| 玖玖99福利| 第四色激情网| 超碰免费大香蕉| 情趣视频66| 日日躁夜夜躁狠狠久久AV| 夜夜资源站| 久机视频这只有精品| 成人无码精品1区2区3区免费看| 九九热这里只有精品7| 色五月亚洲| 99视频啪啪| 噜噜噜色噜噜| 久久久天堂国产精品女人| 亚洲日日操| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 久久这里99| 一本道在线电影| 日本熟女视频一区二区| 99精在线| 五月天婷亚洲天综合网综合| 色婷婷九月| 丁香五月电影| 开心五月激情网| 婷婷色婷婷| 91人人爽狠狠狠| 国产精品视频免费看| 热99在线| 99日精品视频| 久久婷婷亚洲| 在线国产精品色| 日本色色图| AV九九| 久久久久9| 91精品综合久久久久久五月丁香| 五月丁香| 五月丁香欧美综合免费视频| 午夜成人av在线| 五月花丁香婷婷| 在线不卡AC| 五月综合色播播丁香婷婷| 日韩中出视频| 五月天婷婷乱论小说| 亚洲第一av| 婷婷婷久久久| 婷婷五月天AV网| 天天舔天天爽| 婷婷丁香基地在线| 九九精品热| 精品AV无码超碰| 99免费热视频在线| 五月天久久www| 久热九九| 激情久久五月网| 九九色插| AV在线观看网站| 啊V视频在线观看| 色情婷婷五月天| 都市激情五月婷婷综合| 欲求不满的人妻| 婷婷五月天天爽| 人人摸人人操人人爽| 久久这里有精品| 日日婷婷不卡| 99热只有精品在线| 色五月婷婷色| 五月草视频| 亚洲成人av在线| 婷婷五月天AV| 激情丁香五月天| 玖玖色综合网| 国产麻豆视频| 玖玖色综合网| 开心五月婷婷在线| 久99视频在线观看| 色级停停| 激情av| 夜夜骑日日夜夜| 亚洲av网址| 天天操天天操天天操天天操天天操 | 色色色色色九九九九九| www99精品| 狠狠999| 色爱99| 色播五月丁香| 欧美性爱五月天| 狠狠操.com| 丁香五夜激情四射夜夜夜| 日韩啪啪网| 人妻尝试久久久久久久久久久久| 色综合色五月| 红桃91人妻爽人妻爽| 色丁香五月婷婷| www激情网| 婷婷五月综激情| 精品少妇人妻AV无码专区偷人| 丁香六月婷婷色播| 婷婷色综合中心站| 欧美在线视频99| 丁香婷在线| 久久丁香五月婷婷| 亚洲另类av| 亚洲日韩乱码一区二区三区四区| 亚洲在线综合| 婷婷五月草| 噜噜综合网| 99精品一二三四视频| 久久婷婷五月天大香蕉| 婷婷丁香五另类网站| 亚洲182在线观看| 狠狠爱综合| 婷婷视频在线| 99精彩视频在线观看| 大香蕉人在线65| 99视频这里有精品| 99偷拍视频在线日本| 91久久综合亚洲鲁鲁五月天| 99热6这里只有精品6| 一级二级香港秋霞欧美欧美秋霞| 成人在线综合| 内射在线CHINESE| 色射7856五月天激情四射| 97操操操| 天天狠狠干| 丁香激情网| 亚洲欧美在线观看| 婷婷六月天天| 天天操夜夜爽| 99热这里只有精品2| 国产精产国品一二三在观看| 99热碰碰| 新激情五月天色播| 99精品在这里| 欧美婷婷丁香五月| 69午夜成人影片| 五月综合色| 国产av天堂| 91疯狂操操操操| 国产精品色色666| 五月天久久91| 成人综合视频网址| 激情五月天色| 久久网址99热| 99惹| 丁香九月激情| WWW·色色色·COM| 久久久久久久久久人妻| 国产美女无遮挡裸体毛片A片| 久久一品区| 呦呦v线| 激情四射五月天| 亚洲a片免费观看| caopeng超碰| 色五月欧美| 中文超碰视在线| 日韩 欧美 国产 一区 二区| 色色五月天网站| 大鸡巴伊人网| 美女激情婷婷| 蜜桃成语时李时珍 免费| 国产avapp 网| 五月天成人综合| 色色色色色色综合网| 99色天堂| 色欲婷婷五月天| www.99免费视频| site:feetmall.com| www.五月天| 九九激情综合| 九九黄色网| 超碰资源在线| 涩涩五月天| 操操熟女| 六月丁香激情| 久久综合中文字幕| www.99热在线观看| 99乱视频| 丁香五月综合| 超碰91在线| 91色婷婷综合久久中文字幕二区| 丁香婷色| 91精品综合久久久久久五月丁香| 91婷婷丁香| 97操碰视频| 日韩 中文 欧美| 亚洲婷婷五月天| 中文字幕网站在线观看| 女人天堂AV| 欧美日韩国产日本精品四虎网网站物 | 九九色色| 天天天操天天天爰| 日本操天堂| 丁香六月爱综合| 天天射天天插天天干| 大香蕉啪啪啪| 丁香婷婷人妻| 欧美日韩精品人妻狠狠躁免费视频| caopeng超碰| 亚洲成人网站在线观看| 99热这里只有精品33| 男人操女人高潮91视频| 天天操夜夜爽歪歪| 久久91久久91色欲精品| 啪啪激情网| WWW,激情五月天,COM| www.久久| 俺也去在线视频 | 丁香色婷婷| 99er免费在线观看| 99热亚洲只有色| 色综合色色色| 五月丁香日本一抹本| 精品一二三区久久AAA片| 五月五丁香婷婷| 九九在线91| 六月婷久久| 天天噜天天插| 天堂网操| 色色色欧美| 深爱婷婷色| 亚洲色五月婷婷| 亚洲综合色色| 欧美性爱5月天天天看| 色久一| 色婷婷五月天偷拍| 五月停停激情网| 99这里有精品视频| 热日韩欧美| 色婷婷88| 久久这里99| 激情五月天综合网| 亚洲午夜成人av电影网| 天天色图| 五月天久久丁香| 99综合久久| 超碰成人黄色网| 色色五月天丁香婷婷| 色五月婷婷在线视频| 丁香六月av| 99视频只有精品| 五月婷婷啪啪| 极品人妻VIDEOSSS人妻| 91人人爽久久涩噜噜噜| 婷丁五月| 婷婷五月综合社区| 东北熟女视频99| 国内外色色色色色成人视频| 色五月天电影| 欧美va| 国产超碰在线| 金品在线视频99| 国产精品天天狠天天看| 激情五月丁香五月| 色五月天成人| 婷婷深爱五月丁香网| 99 热国产在| 99人人操| 久久性爱激情| 综合 激情 婷婷| 九九热精品在线| 99人妻碰碰碰久久久久视| 五月丁香婷婷人体| 99成人网站| 99久在线观看| 免费AV在线| 在线日本www| 欧美性猛交99久久久久99按摩| 婷婷久久五月丁香| 激情深爱五月天| 激情五月天色婷婷| 99热这里有精品2| 亚洲视频在线观看99| 欧美精品啪啪| 色色色在线| 亚州激情九月| 9 大屁股在线视频精品| 熟妇国产| 天色色综合网| www,久久久人人| www.丁香黄色五月天人与| 嫩草AV久久伊人妇女超级A| 婷婷99狠狠躁天天躁| 午夜激情婷婷| 九九99免费理论| 大香蕉婷婷久久| www.色九月| 天天做天天爱天天爽| 人人播| 激情开心五月天| 99性色| 这里只有精品久久| 人妖色AV色综合| www色哟哟| 奇米影视在线视频| 欧美在线视频9| 综合超碰熟| 婷婷成人在线| 婷婷五月激情图片| site:hcxsz888.com| 俺也去婷婷五月天第五色| 九九熱最新視頻| 久久亚洲婷婷综合色五月| 91精品熟女| 人人摸人人射| 停停五月天激情网| 婷婷五月天激情开心网| 91婷婷搞| 婷婷五月激情综合| 欧美色一级色| 婷婷丁香www视频日本韩国| 狠狠干在线| 色网五月婷婷| 国产精品18久久久| 99热九九九九| 久99久热| 99re思思在线视频| 五月六月激情| 五月丁香成人| 99精品久久| 思思热99er| 亭亭色网| 久久狠狠色| 婷婷深爱五月丁香| 99精品在线播放| 三人荫蒂添的好舒服A片| 久久免费少妇高潮99精品| 亚洲AV免费国产电影| 婷婷中文在线| 丁香五月天五码婷婷| 五日激情综合| 激情五月天丁香| 情色五月天 网站| 色色免费网站| 俺去也在线www色官网| 五月婷婷深深爱| 99ri精品| 五月婷婷丁香六月| 五月婷人妻| 青草五月天| 超碰在线人妻| 小泽玛利亚视频一区二区| www.99热日韩.com| 亚洲天天操| 九九热视频在线观看| 欧美碰碰碰| 丁香婷婷五月天色综合| 四月婷婷五月丁香| 五月丁香婷婷成人网| www.五月天色色.com| 色综合久久天天综合网 | 婷婷五月丁香高清无码| 丁香婷婷六月| 琪琪布丁香社区激情五月天| 超碰国产在线| 99性爱视频| 91色色五月天| 开心五月婷婷五月| 天天插天天日| 亚韩精品视频1区| 婷婷五月天天天日日夜夜| 99视频只有精品| 亚洲成人在线观看av| AA丁香综合激情| 婷婷综合在线| 人妻有码乱操| 天天干-天天日| 色99在线观看| 丁香婷婷九月| 九九激情| av在线不卡播放| 天天添天天摸天天天天做| 久久综合中文| 九九十99视频| 色香欲综合| 亚洲AV无码电影| 久久五月丁香激情综合| 97色色色| 性韩日色婷婷五月天激情啪啪XXX| 婷婷五月天天爽| 成片免费观看大全| 97色色在线视频| 九九婷婷五月天| 深爱激情小说五月婷婷| 成片免费观看视频大全| 婷婷综合网| 亚洲中文字幕AV| 97婷婷狠狠| 99热在线观看精品| 97色永久免费视频| 97se视频在线| 婷婷久久综| 曰曰久久| 伊人久久五月天| 国产熟女一区二区三区五月婷| 99内射视频| 九九热最新| 丁香五月婷婷99| 五月激情在线| 婷婷射图五月天| 爱狠射| 丁香五月在线观看综合| av在线播放网站| 午夜婷婷五月天在线| 天天草女人| 五月丁香花开综合网| 在线观看视频1区| 六月婷婷九月丁香亚洲综合| 久久精品日| 国产美女视频久| www,色婷婷| 久久a热| 成人婷婷色五月天| 丁香狠狠干| 久久五月天色| 91精品综合久久婷婷九色| 婷婷久久五月天丁香| 久久综合干| 女人天堂AV| 99久久思思| 午夜激情四射影院| 日本九婷婷| 色综合婷婷| 高清无码视频网址| 提提热五月天婷婷| 日韩AV在线免费| 亚洲av日韩无码| 成人天天爽| 成人免费黄色短视频| 美英法精品无码免费视频| 日韩无码系列| 色5月婷婷| 婷婷五月天激情综合| 中文字幕91,综合| 六月婷婷综合激情| 99er免费在线观看| 婷婷丁香婷婷97| 99熟女| 五月丁香婷婷人体| 停停五月色宗合| 色色色999| 婷婷亚洲色| 棕合影院色色| 成人.在线日韩| 亚洲欧美婷婷五月色综合| 日韩欧美一区二区三区四区| 一级黄色片看看| 丁香五月影视| 欧美另类五月激情| 丁香五月手机在线| 99精彩视频网站在线| 色噜噜五月天| mmm1717.6dbm人人爱人人操| 久久中国毛毛片爱久久| 久久九九99| 婷婷五月天六点丁香五月| 亚洲综合色婷婷| 97碰 在线视频观看| 久久婷婷影院| 激情五月天伊人av| 欧美噜噜久久久XXX| 色偷偷人人| 五月婷婷激情网| 激情九九六月激情免费视频| www.五月激情.com| 天天插综合| 婷婷在线五月天观看| 免费97碰碰| 丁香婷婷五月份| 色色色无码| 久久人人妻| 久久这里只有精品16| 久久九九99| 久久婷婷五月综合啪| www五月婷婷88导航| 五月天狠狠| 五月丁香六月激情| 人妻尝试久久久久久久久久久久| 婷婷亚洲日本| 日本色久| 婷婷五月六月丁香| 五月婷婷丁香91| 成人在线视频网| 亚韩在线视频| 色五月婷婷五月| 思思久热6| 翔田千里aV中文字幕| 99re这里只有精品99| 狠狠爱五月婷婷| 国产永久一黄| AV操一操| av五月天婷婷丁香| 国产亚洲精品久久久久久久久动漫 | 色天堂97| 九九激情视频| 影音先锋五月天婷婷丁香在线观看| 五月婷婷五月天| 俺去也五月| 成人在线视频网| 久久99精品久久久久久噜噜| 五月丁香六月玩女人| 新精品99| 激情婷婷色五月| 国产日日操夜夜操的肉棒视频| 亚洲开心激情网| 九九免费视频在线| 婷婷久久五月| 亚洲九九免费| 日韩狠狠色婷婷| 99热成人精品| 天天婷婷天天| 色婷婷六月综合| 日韩六十路91性交电影| 婷婷舔| 激情五月婷婷色综合| 日本狠狠爽| 五月丁香婷婷综合激情基地| 丁香五月综合福利视频导航| 丁香婷婷五月天色播| 青青草蜜臀| 午夜无码精品色综合久久| 热99这里只有精品视频| 五月亭亭综合五码| 啄木鸟丝袜美女福利视频| 99热这里有精力| 99只有精品| 99在线精品视频| AA丁香综合激情| 欧美这里只有精品| 欧美经典片免费观看大全| 极品人妻VIDEOSSS人妻| 欧美情色一区| 色原狠狠综合| 啪啪丁香五月| 婷婷五月成人色综合| 天天做天天爰天天爽天天无遮挡| 丁香五月天五码婷婷| 色婷婷婷婷五月天| 色九月婷婷丁香| 婷婷色色网| 99噜噜噜在线播放| 久久XX日本综合| 五月丁香婷婷婷激情爱爱| 99久久99视频| 爱爱色五月天| av五月天婷婷丁香| 丁香六月激情四射| 中文字幕在线免费观看视频| 九九色网专区| 人人摸人人| 激情综合区| 亚洲亚洲人成综合网络| 免费操超碰| 69精品人人人人| 亚洲男人的天堂婷婷色五月| 色亭亭五月天丁香综合AV - 百度 - 百度| 久久性操| 五月天丁香色色| 久久色五月天| 色国产五月| 久久a热| 婷婷丁香成人| 九 九九九AV| 久久久婷| 91精品综合久久久久久五月丁香| 日本精品99| 丁香五月开心七月| 五月天综合久久| 热99re| 婷香五月| 操逼五月天| 天天色·欧美| 五月天激情小说| 无码激情AAAAA片-区区| 国产无人区大片| 国产丁香五月天婷婷| 一级精品999WWW| se色婷婷视频| 色色婷婷五月| 五月天开心激情综合网| www.色婷婷| 狠狠爱五月婷婷| 色色亚卅| 99久在线精品99re8热| 婷婷六月天| 婷色成人| 丁香五月性| 九九九九九九综合| 久久99热精品a片在线观看| 久久精典| 五月丁香偷拍| 五月丁香六月色婷婷| 97操操| 亚洲AV永久无码影院黑人| 成人色五月天| 五月天婷婷色综合| 婷婷成人AV| 伊人9999| 青青草国产亚洲精品久久| 五月婷婷熟女| 婷婷五月天色播| 99热最新国内| 成人久久天天x资源站| 黄网在线播放| 影音先锋91资源站| 丁香涩涩爱| 色狠狠色噜噜AV天堂五区| www.色五月| 欧美色色色色色色色| 丁香五夜激情四射夜夜夜| 99热精品综合| 亚洲无AV在线中文字幕| 日本色频| 99久在线精品99re8热| 色丁香五月| 99爱视频| 9视频1在线| 99色色色色| 婷婷综合婷婷| 五月天激情中文字幕| 人妻体体内射精一区二区| 六月丁香婷婷视频综合在线观看| 美女激情综合| 婷婷情色五月天| 超碰不卡在线| 婷婷综合影院| 亚洲午夜电影| 99色| 色yeye色综合| 99免费在线| AⅤ在线播放网| 涩五月色婷婷| 激情色情五月天| 可以直接看的AV| www.1024久久| 日本人人xxx| 五月丁香人妻| 99在线视频免费| 婷婷操久久| 色婷婷丁香| 性日本激情| 婷婷五月在线观看| 思思网站| 99操九九网| 激情深爱综合网| 国产综合久久久777777| 26.uuu丁香五月婷婷| 亚洲AV中文在线| 九九热视频精品| 丁香五月天色| 亚洲亚洲人成综合网络| 日本成人噜噜| 色色色色色色色色色色色色色五月天 | 亚洲超碰在线| 五月天天丁香婷婷在线中| 午夜69成人做爰视频| 国产精品激情五月天色婷婷| 久热在线观看视频9| 婷婷的色色五月天| 亚洲综合在线伊人婷| 最近免费中文字幕大全高清大全1| 这里只有免费的精品| 人操人| www色五月| 五月激情精品视频| 久热精彩视频98| 综合另类视频| 色婷婷4| www.玖玖婷婷在线| 欧美性爱五月天| 久久伊人日日夜夜| 国产亚洲色婷婷久久99精品9j| 九九九热精品| 五月伊人视频在线看| 人人操91色| 色噜噜狠狠色综合日日| 操逼123网| 在线观看免费狠狠色丁香香综合 | 中文字幕操比影片| 久久婷婷综合基地| 美女要搞搞天天搞搞搞网站| 日韩无码性爱| 91chinese在线| 六月丁AV| 久久er免费视频| 色 噜噜 九月 婷婷| 亚洲第一第二网站| 天天日日爽| 日本99久久| 婷婷9月天| 大香蕉伊人久久| 婷婷中文字暮| 99热久| 亚洲啪啪精品| 成人做爰A片免费看网站找不到了| 五月丁香天堂网| eeuus五月婷| 欧美WW在线网| 操人妻AV| 婷婷五月天开心网| 亚洲欧美999| 99在线爽| 久久婷婷五月综合精品蜜芽| 熟女色色一区二区| 思思热在线精品视频| 天天色亚洲| 插少妇综合网| 婷婷久久久| 日韩伊人大香蕉| 人妻日日日| 97色色色| 七七色色综合| 色噜噜狠狠狠综合曰曰曰| 成人天天爽| 日韩色五月| 91九色无码内射| 丁香婷婷天堂| www.久久99| 五月婷婷六月丁香| 成人va视频| 丁香 婷婷 亚洲 熟女| 五月丁香va| 97福利视频| 色五月天丁香婷婷| 久久aaaaa| 中文字幕综合色| 精品人妻午夜一区二区三区四区| 国产成人+综合亚洲+天堂| 另类综合色| 99精品福利视频| 丁香五月天无码| 天天上天天爽| 狠狠色婷婷7| 婷婷五月激情综合| 欧美激情综合色综合啪啪五月| 久久五月婷综合网| 国产女18毛片多18精品| 日韩精品一区二区三区,四区,五区视频| 久热这里只有精品6| 亚洲成人免费在线| 99自拍视频网站| 久久久99免费视频| 激情五月天视频| 婷婷五月免费视频| 人人干人人看| 婷婷六月激情| 丁香婷婷基地| 开心婷婷丁香五月| 玖玖资源在线视频| 日韩AAAAA| 亚洲五月天婷婷| 激情五月天婷婷丁香| 色色色色色综合| 天天做天天爱天天爽综合网| 日本五月婷婷| 五月天另类激情在线| 夜夜爽天天爽| 五月婷婷五月天| 九九自拍网| 91一起操| 五月丁香网站| 97人人干| 久久六月婷婷| 一本狠婷婷综合| 婷婷va| 五月婷婷中文字幕| 丁香婷婷五月综合色情| 激情综合五月婷| 天天做天天爱天天爽在| 色情激情五月| 欧州色色| 五月婷婷九九热| 激情久久久久| 综合色图区| 成人国产欧美大片一区| 开心婷婷五月综合| 亚洲AV成人无码电影| 色五月天天| 五月天五月天激情网| 精品99网站| 夜丁香综合| 色丁香五月| 99热这里只有精品55| 欧美成人一区二区三区在线视频| 琪琪色网在线| 99re视频在线| 五月婷婷丁香综合| 久久婷婷丁香五月一二三| 蜜桃五月天色| 五月天伊人久久久久| 超碰狠狠操| 99超超碰| 午夜婷婷久久| 玖月婷婷爱丁香| 色婷婷五月天天天干天天操天天爽| 五月丁香色六月激情干大屄| 91ncm视频| 年轻的妺妺伦理HD中文| 久久性爱激情| 先锋五月婷婷丁香草草| 成人色五月天| 丁香五月婷婷视频| 五月婷婷激情| 婷婷五月天av小说| 久久婷婷成人| 79色色免费| 99综合自拍| 96精品成人无码A片观看金桔 | 激情婷婷丁香色情五月天| 天天草天天摸| 天天日天天舔| 久久久久久18| 婷婷久久五月| 99无码精品| 亚洲精品白浆高清久久久久久| 97人妻碰碰碰碰碰久久久久久| 性爱先锋AV| 色五月激情| 欧美性生交XXXXX无码小说| 日韩操女| 综合色五月天| 庭庭久久内射| 超碰色碰碰| 婷婷在线观看五月天在线视频| 丁香六月婷婷综合啪啪| 99亚洲精品| 色99www.| www,色中色| 另类视频在线| 色欧美日| 内射激情在线| 丁香五月婷婷啪啪| 久久色吧| 久久有码| 人人操AV| 久久精品五月天| 这里只有精彩亚洲视频推荐| 亚洲激情四谢| 日韩色五月| 天天做天天爱| 色噜噜夜夜夜综合网| 丁香婷婷六月在线资源观看| 丁香五月欧美| 超碰97干| 夜夜撸天天操| 中国操逼99| 五月丁香六月婷婷,婷| 激情综合在线观看| 久久久久久久久久久久久久久久久精典| 欧美久草在线日本一级特黄大片做受9在线观看韩国电影《两个女人》未删减-毛片 | 激情六月婷婷| 在线网黄| 日本色爽| 男人的天堂99| 操丝袜视频影院导航| 激情丁香五月| 婷婷久久综合久| YJLZZJLZZ亚洲乱熟无码| 自拍视频在线观看9| 婷婷综合网站| 日韩国产在线精品| Av性爱网站| 欧美99| 亚洲黄色精品| 99热久草| 五月丁香六月婷婷成人| 五月婷婷啪啪| 五月婷婷黄色毛片| 婷婷五月天在线观看免费| 亚洲成人无码专区| 婷婷五月情色| 日欧一片内射VA在线影院| 色欲婷婷夜夜| 激情五月综合网| 国产五月丁香在线| 在线不卡视频| 五月丁香日本片| 五月天婷婷影院| 婷丁香久综合| 色噜噜狠狠色综无码久久合欧美| 九月婷婷久久| 亚洲这里只有精品| 99er这里只有精品视频| 色色亚洲五月天| 激情五月天婷婷免费观看| 天天插天天射| 色噜噜,噜噜色| 2025超碰| 五月丁香啪啪伦理电影| 91久草五月天婷婷|