• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    重復(fù)代碼檢測(cè)技術(shù)的現(xiàn)究現(xiàn)狀

    2009-10-26 09:34:32易長安
    電腦知識(shí)與技術(shù) 2009年22期

    易長安

    摘要:重復(fù)代碼是程序中最常見的“壞味道”,也是導(dǎo)致軟件維護(hù)費(fèi)用高昂的原因之一。關(guān)于重復(fù)代碼的重構(gòu)技術(shù)已經(jīng)研究了很多年了,該文主要對(duì)重復(fù)代碼檢測(cè)技術(shù)的國內(nèi)外研究現(xiàn)狀進(jìn)行分析和比較、指出了它們的優(yōu)缺點(diǎn),并在此基礎(chǔ)上展望了其以后的發(fā)展趨勢(shì)。

    關(guān)鍵詞:重構(gòu);重復(fù)代碼;抽象語法樹;程序依賴圖;過程藍(lán)圖

    中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2009)20-0000-00

    0 引言

    軟件的本質(zhì)屬性是演化[1]。對(duì)于一家軟件公司來說,代碼是其重要的“遺產(chǎn)系統(tǒng)”,而重構(gòu)是實(shí)現(xiàn)軟件演化的主要方法,它可以大大提高“遺產(chǎn)系統(tǒng)”的價(jià)值?,F(xiàn)代主流的的軟件開發(fā)方法,如RUP和XP等都運(yùn)用重構(gòu)來支持迭代開發(fā),重構(gòu)是XP的基石。關(guān)于重構(gòu)的研究已經(jīng)有很多年了,但是,直到現(xiàn)在,沒有一種好的度量方法能夠勝過人的直覺,“何時(shí)在何地使用何種重構(gòu)”仍然是重構(gòu)技術(shù)所需要解決的主要問題之一,自動(dòng)化的重構(gòu)工具也依然是研究人員和程序員所最希望擁有的。

    重構(gòu),就是對(duì)軟件系統(tǒng)作一些改變,它只改變軟件的內(nèi)部結(jié)構(gòu),而不改變代碼的外部行為[2]。重構(gòu)是一種改進(jìn)軟件的可維護(hù)性的技術(shù)。那些需要進(jìn)行重構(gòu)的地方被稱為壞味道[2]。重復(fù)代碼、長方法、長參數(shù)列表等都是常見的壞味道。

    所謂重復(fù)代碼,是指那些彼此相似或者完全相同的代碼片段。有研究表明,在大型軟件中,重復(fù)代碼的比例高達(dá)5-10%[1]。重復(fù)代碼在所有的軟件中都是很常見的,它也是使得軟件的維護(hù)成本高昂的原因之一。大量的重復(fù)代碼會(huì)導(dǎo)致運(yùn)行時(shí)間的急劇增加[3]。

    既然重復(fù)代碼的危害性這么大,那么,為什么它還如此普遍呢?一般認(rèn)為,重復(fù)代碼的產(chǎn)生有如下的原因[1]:

    1) 復(fù)制已經(jīng)存在的代碼。當(dāng)要實(shí)現(xiàn)一個(gè)新的功能特別是當(dāng)有時(shí)間壓力時(shí),程序員往往首先去尋找已有的、實(shí)現(xiàn)了相似功能的代碼,然后拷貝過來,并稍微作一些修改。

    2) 編碼風(fēng)格。特別是在驅(qū)動(dòng)程序的編寫方面,這種情況特別普遍。因?yàn)閷?duì)于各個(gè)驅(qū)動(dòng)程序來說,大部分代碼都有樣板可尋,僅僅只是核心部分需要作修改。

    3) 對(duì)所定義的操作的實(shí)例化。程序員在這種情況下往往會(huì)使用宏。

    4) 沒有充分利用抽象數(shù)據(jù)類型。有時(shí)候重用庫函數(shù)比“粘貼”更好。

    5) 為了提高系統(tǒng)性能而有意讓代碼冗余,如實(shí)時(shí)系統(tǒng)。

    6) 偶然的情況。有時(shí)候代碼段之間僅僅是偶然的一致,而并不是重復(fù)。

    雖然復(fù)制-粘貼-剪切(以及一定的修改)被認(rèn)為是一種不好的做法,但實(shí)際上幾乎所有的程序員都使用這種方法。雖然復(fù)制代碼非常容易,但是,它使得軟件維護(hù)更加困難,主要表現(xiàn)在兩個(gè)方面[3]:

    1) 當(dāng)代碼被復(fù)制時(shí),代碼中的錯(cuò)誤也在被復(fù)制;

    2) 對(duì)初始代碼進(jìn)行修改時(shí)也必須同時(shí)對(duì)復(fù)制后的代碼進(jìn)行修改。

    1 重復(fù)代碼的分類

    重復(fù)代碼的危害性引起了軟件人員的高度重視,關(guān)于這方面的研究已經(jīng)進(jìn)行了很久,并且取得了一定的成果。現(xiàn)在,從以下幾個(gè)方面來討論重復(fù)代碼的研究狀況。

    1.1 大型軟件系統(tǒng)中重復(fù)代碼的分類

    Kapser等人對(duì)重復(fù)代碼進(jìn)行了初步的分類,并將這個(gè)分類與對(duì)Linux操作系統(tǒng)內(nèi)核的分析結(jié)合起來[4]。該項(xiàng)研究使用CCFinder來作為重復(fù)代碼檢測(cè)工具,結(jié)果表明重復(fù)不僅在文件系統(tǒng)內(nèi)部發(fā)生,而且在文件系統(tǒng)之間也存在大量的重復(fù)代碼。

    Kapser將所檢測(cè)到的重復(fù)代碼分成了如下幾類:

    1) 同一個(gè)函數(shù)里的重復(fù)代碼;

    2) 同一個(gè)文件里的相似函數(shù);

    3) 同一目錄下不同文件之間的重復(fù)函數(shù);

    4) 不同目錄之間的重復(fù)函數(shù);

    5) 文件重復(fù)(可能作了一些改變);

    6) 不同文件之間的重復(fù)塊。

    Kapser率先對(duì)大型軟件系統(tǒng)的重復(fù)狀況進(jìn)行研究,其另外的一個(gè)獨(dú)特之處是使用三維圖形來可視化重復(fù)信息。

    1.2 類以及類之間的重復(fù)代碼

    從軟件維護(hù)的角度看,重復(fù)代碼應(yīng)該被清除。但是,有時(shí)候這些重復(fù)代碼之間存在依賴關(guān)系,此時(shí)就需要一次性地將它們?nèi)壳宄?Norihiro Yoshida等人為此定義了“方法鏈”[4]。所謂“方法鏈”,是指一系列有依賴關(guān)系的方法。如果一系列“方法鏈”彼此互為重復(fù)關(guān)系的話,那么就稱其為“重復(fù)鏈”,與“重復(fù)鏈”相對(duì)應(yīng)的類就稱為“重復(fù)鏈集合”。 Norihiro Yoshida等人對(duì)“重復(fù)鏈集合”進(jìn)行了分類,并為它們分別提出了相應(yīng)的重構(gòu)模式,而且,還在一些實(shí)際案例中對(duì)所提出的方法的正確性進(jìn)行了驗(yàn)證。這篇文章還提出了度量方法來衡量重復(fù)方法之間的距離(根據(jù)這些方法所在的類的關(guān)系來求值)。該項(xiàng)研究還通過所實(shí)現(xiàn)的原型工具Aries來對(duì)三個(gè)軟件ANTER、Tomcat和JBoss的重復(fù)情況進(jìn)行分析,進(jìn)而評(píng)價(jià)方法的正確性,結(jié)果發(fā)現(xiàn)不同風(fēng)格的軟件其重復(fù)代碼的特點(diǎn)也是不同的。

    2 重復(fù)代碼的檢測(cè)方法

    研究重復(fù)代碼的最終目的是為了把理論成果轉(zhuǎn)換為產(chǎn)品,提高重復(fù)代碼的檢測(cè)和改進(jìn)效率。

    2.1 基于抽象語法樹的重復(fù)代碼檢測(cè)方法

    以前的重復(fù)檢測(cè)方法只能檢測(cè)出那些極為相似的代碼片段或者完整函數(shù)之間的代碼片段。Baxter[1]等人提出的基于抽象語法樹的方法是一種簡單而且實(shí)用的重復(fù)檢測(cè)方法,它能夠檢測(cè)出源代碼中任意片段之間的重復(fù)情況。該方法是在程序的結(jié)構(gòu)上進(jìn)行操作,所以可以通過一些常用的方法來清除重復(fù)代碼。重復(fù)檢測(cè)中最基本的問題就是找出那些有相同功能的代碼片段,以往的方法很難對(duì)某個(gè)功能的起止位置進(jìn)行定位,而基于抽象語法樹的方法可以做到這一點(diǎn)。使用抽象語法樹來檢測(cè)重復(fù)代碼的第一步就是將源代碼解析成抽象語法樹,然后陸續(xù)應(yīng)用三種算法來尋找重復(fù)代碼。其中,第一個(gè)算法用來檢測(cè)子樹重復(fù),第二個(gè)算法用來檢測(cè)連續(xù)重復(fù),第三個(gè)算法用來檢測(cè)更加復(fù)雜的重復(fù)。

    2.2 使用程序依賴圖來識(shí)別相似代碼

    雖然存在很多種檢測(cè)重復(fù)代碼的方法,但是大部分都只能檢測(cè)出完全一致的重復(fù)代碼,而通常情況下程序員都對(duì)復(fù)制過來的代碼進(jìn)行了一定的修改。Jens Krinke提出的方法是基于在屬性有向圖里尋找相似子圖進(jìn)而來識(shí)別相似代碼[3]。該方法使用程序依賴圖,既要考慮程序的句法結(jié)構(gòu)也要考慮數(shù)據(jù)流結(jié)構(gòu),因此也就不需要在精確和回溯之間進(jìn)行折衷(所謂精確,是指所發(fā)現(xiàn)的重復(fù)代碼中那些沒有價(jià)值的重復(fù)代碼的數(shù)量;所謂回溯,是指尚未發(fā)現(xiàn)的重復(fù)代碼的數(shù)量)。該方法還可以檢測(cè)到那些被修改了的重復(fù)代碼,它不僅僅是基于文本或者語法,而且還考慮語義。Jens Krinke提出的方法是基于精煉了的程序依賴圖,程序依賴圖描述程序的結(jié)構(gòu)和數(shù)據(jù)流。在這些圖里,我們主要是識(shí)別由重復(fù)代碼所產(chǎn)生的相似子圖,所識(shí)別出來的相似子圖可以被直接映射到程序源代碼并呈現(xiàn)給用戶。

    2.3 基于過程藍(lán)圖的重復(fù)代碼檢測(cè)方法

    Roberts[5]在其博士論文中指出,表達(dá)式變換最自然的方式是使用樹到樹的變換規(guī)則。過程藍(lán)圖[6]是一種圖形化程序過程規(guī)格說明方法,是對(duì)過程的源代碼進(jìn)行描述的模型,其本質(zhì)上是抽象語法樹,具有豐富的語義,因而具有對(duì)程序重構(gòu)、重復(fù)代碼檢測(cè)的支持能力。

    2.4 一種關(guān)于重復(fù)代碼檢測(cè)的新思想

    軟件維護(hù)的確很重要,關(guān)于這方面的工作大部分是提出新的方法來創(chuàng)建或者修改軟件。但是,由于當(dāng)對(duì)一個(gè)問題理解的程度加深時(shí),就能夠產(chǎn)生更好的方法,所以,Rysselberghe等人通過研究軟件演化的方式而提出了一種新的方法[7]。其實(shí),Rysselberghe是把已有的技術(shù)按一種全新的方式來應(yīng)用,即不是尋找那些代表重復(fù)關(guān)系的匹配,而是尋找那些反映程序發(fā)生了變化的非匹配。Dotplogs是一種可視化技術(shù),它最初是被用來檢測(cè)DNA序列的相似性,但是后來被用來分析重復(fù)代碼。該項(xiàng)研究使用重復(fù)檢測(cè)工具Duploc來對(duì)Tomcat的五個(gè)不同版本進(jìn)行比較?!癕oving methods”被認(rèn)為是重構(gòu)的重要組成部分[8],在該項(xiàng)研究中也得到了證實(shí)。另外,Rysselberghe還得出了一個(gè)重要結(jié)論:“Moving methods”更重要的目的不是消除代碼冗余而是將功能聚合(即讓一組實(shí)體完成某一個(gè)特定的功能)。

    3 各種重復(fù)代碼檢測(cè)技術(shù)的比較

    在過去的十多年里,開展了大量的關(guān)于重復(fù)代碼方面的研究,有些研究還是在大型軟件上進(jìn)行,所有這些技術(shù)都有各自的優(yōu)缺點(diǎn)。Rysselberghe等人比較了三種有代表性的檢測(cè)技術(shù),即簡單行匹配、參數(shù)化匹配和度量方法[9],結(jié)果發(fā)現(xiàn)這三種技術(shù)均有各自的適應(yīng)性:簡單行匹配適用于對(duì)重復(fù)代碼的初步探測(cè);參數(shù)化匹配最好與能夠在語句層次上執(zhí)行重構(gòu)的工具結(jié)合使用;度量技術(shù)最好與能夠消除重復(fù)子程序的重構(gòu)工具結(jié)合使用。

    重復(fù)代碼的檢測(cè)由轉(zhuǎn)換和比較兩個(gè)階段組成。在第一個(gè)階段,源代碼被轉(zhuǎn)換成一種內(nèi)部表示形式,在第二個(gè)階段才執(zhí)行真正的匹配過程。根據(jù)源代碼轉(zhuǎn)換后的內(nèi)部格式,可以把重復(fù)檢測(cè)技術(shù)分成三類:基于字符串、基于符號(hào)流和基于分析樹?;谧址募夹g(shù)都獨(dú)立于編程語言,它們僅僅是字符串比較算法的不同?;诜?hào)流的技術(shù)所使用的轉(zhuǎn)換算法更加復(fù)雜,還需要用到詞法分析器。基于分析樹的技術(shù)使用一種重量級(jí)的轉(zhuǎn)換算法,即創(chuàng)建分析樹。分析樹的信息豐富,可以在分析樹上進(jìn)行各種算法的比較。通過對(duì)這些技術(shù)的比較,可以為更加系統(tǒng)化地檢測(cè)和消除重復(fù)代碼奠定一個(gè)良好的基礎(chǔ)。

    隨著對(duì)大型軟件的需求不斷增加,重復(fù)代碼的探測(cè)與消除問題也變得越來越重要。以上列舉了四種有代表性的重復(fù)代碼檢測(cè)方法,在以后的研究中,新的方法將會(huì)不斷涌現(xiàn)。

    4 總結(jié)

    關(guān)于重復(fù)代碼方面的研究工作正在進(jìn)行,新的檢測(cè)方法和檢測(cè)工具會(huì)不斷地出現(xiàn)。以前的研究中,雖然提出了檢測(cè)方法并進(jìn)行了試驗(yàn)性的驗(yàn)證,但是,都不是大規(guī)模的,不具有很強(qiáng)的說服力。所以,今后的一個(gè)研究方向就是將所提出的方法應(yīng)用到商業(yè)軟件中,以便從更深層次和更廣范圍來檢驗(yàn)其正確性。

    另外,雖然在軟件設(shè)計(jì)度量和軟件代碼度量方面開展了深入的研究,但是,這些度量還沒有被廣泛地運(yùn)用,使用度量與不使用度量的積極意義與不良影響都很值得研究[9]。

    重復(fù)代碼都是在源代碼中產(chǎn)生,既然它的危害如此之大,那么,從另一個(gè)角度說,源代碼的設(shè)計(jì)也就變得更加重要了[10]。

    參考文獻(xiàn):

    [1] Baxter L D,Yahin A,Moura L,et al.Clone detection using abstract syntax trees[C].International Conference on Software Maintenance,1998.

    [2] Fowler M.Refactoring:Improving the design of existing code[M].Addison Wesley,1999.

    [3] Krinke J.Identifying similar code with program dependence graphs[C].Proc. Eigth Working Conference on Reverse Engineering,2001.

    [4] Kapser C,Godfrey M W.Toward a taxonomy of clones in source code:A case study[Z].

    [5] Roberts D.Practical Analysis for Refactoring[D].PhD thesis, Univ.of Illinois at Urbana-Champaign,1999.

    [6] 劉建賓.過程藍(lán)圖設(shè)計(jì)方法學(xué)[M].北京:科學(xué)出版社,2005.

    [7] Van Rysselberghe F,Demeyer S.Reconstruction of successful software evolution using clone detection[C].Proceedings of the Sixth International Workshop on Principles of Software Evolution(IWPSE03).

    [8] Yoshida N.On refactoring support based on code clone dependency relation[C].11th IEEE International Software Metrics Symposium(METRICS 2005).

    [9] Van Rysselberghe F,Demeyer S.Evaluating clone detection techniques[Z].

    [10] Munro M J.Product metrics for automatic identification of “bad smell” design problems in java source-code[C].11th IEEE International Software metrics Symposium (METRICS 2005).

    国产男靠女视频免费网站| 精品国内亚洲2022精品成人| 国产美女午夜福利| 国产亚洲精品久久久com| 高清毛片免费观看视频网站| 18美女黄网站色大片免费观看| 国产成人精品无人区| 日韩av在线大香蕉| 男插女下体视频免费在线播放| 久久性视频一级片| 亚洲欧美日韩高清专用| 亚洲国产中文字幕在线视频| 亚洲一区二区三区不卡视频| 午夜福利18| 国产午夜精品久久久久久| 久久久色成人| 久久热在线av| 在线a可以看的网站| 99re在线观看精品视频| 两个人视频免费观看高清| 国产日本99.免费观看| 国产欧美日韩精品一区二区| 亚洲 国产 在线| 99精品欧美一区二区三区四区| 中亚洲国语对白在线视频| 亚洲精品456在线播放app | 精品乱码久久久久久99久播| 国产精华一区二区三区| 亚洲在线自拍视频| 日韩欧美 国产精品| 精品乱码久久久久久99久播| av女优亚洲男人天堂 | 色综合站精品国产| 97超级碰碰碰精品色视频在线观看| 日日夜夜操网爽| 亚洲电影在线观看av| 精品国产美女av久久久久小说| 日韩av在线大香蕉| 观看免费一级毛片| 1000部很黄的大片| 黄色视频,在线免费观看| 啪啪无遮挡十八禁网站| 成年免费大片在线观看| 国产精品乱码一区二三区的特点| 成人三级黄色视频| 日韩欧美免费精品| 国产精品亚洲av一区麻豆| 国产亚洲精品综合一区在线观看| 日韩欧美精品v在线| 听说在线观看完整版免费高清| bbb黄色大片| 一级毛片高清免费大全| 国产野战对白在线观看| 亚洲av熟女| 亚洲欧美精品综合久久99| 亚洲专区字幕在线| avwww免费| 嫩草影院精品99| 18禁黄网站禁片午夜丰满| 99热精品在线国产| 成人av一区二区三区在线看| 亚洲狠狠婷婷综合久久图片| 欧美一级毛片孕妇| 亚洲精品一卡2卡三卡4卡5卡| 99久久精品热视频| 欧美成狂野欧美在线观看| 最近最新中文字幕大全电影3| 小说图片视频综合网站| 亚洲18禁久久av| 免费观看的影片在线观看| 91老司机精品| 91字幕亚洲| 嫩草影院精品99| 欧美丝袜亚洲另类 | 嫩草影院入口| 国产又黄又爽又无遮挡在线| 一区二区三区激情视频| 19禁男女啪啪无遮挡网站| 熟女人妻精品中文字幕| 亚洲中文日韩欧美视频| 久久久国产欧美日韩av| 色精品久久人妻99蜜桃| 淫妇啪啪啪对白视频| 亚洲中文字幕一区二区三区有码在线看 | 亚洲国产色片| 在线国产一区二区在线| 亚洲国产精品sss在线观看| 黄频高清免费视频| 色尼玛亚洲综合影院| 变态另类成人亚洲欧美熟女| 国产欧美日韩一区二区三| 禁无遮挡网站| 精品久久久久久久人妻蜜臀av| 日本免费一区二区三区高清不卡| 国产精品精品国产色婷婷| 亚洲成a人片在线一区二区| 国产午夜精品论理片| 村上凉子中文字幕在线| 欧美激情在线99| 亚洲国产精品久久男人天堂| 亚洲国产高清在线一区二区三| 久久久久久久久久黄片| 欧美日韩一级在线毛片| 精品久久久久久久人妻蜜臀av| 中文亚洲av片在线观看爽| 老司机深夜福利视频在线观看| 这个男人来自地球电影免费观看| 99精品久久久久人妻精品| 国产高清三级在线| 曰老女人黄片| 亚洲真实伦在线观看| 岛国视频午夜一区免费看| 午夜福利在线观看吧| 亚洲avbb在线观看| 免费观看精品视频网站| 中文字幕av在线有码专区| 一进一出抽搐gif免费好疼| 亚洲精品色激情综合| 性欧美人与动物交配| 亚洲av第一区精品v没综合| 亚洲人成伊人成综合网2020| 午夜精品一区二区三区免费看| 在线十欧美十亚洲十日本专区| 国产一区二区三区视频了| 久久中文看片网| 这个男人来自地球电影免费观看| 欧美中文综合在线视频| 欧美高清成人免费视频www| 身体一侧抽搐| 久久中文看片网| 久久中文字幕一级| 又大又爽又粗| 国产淫片久久久久久久久 | 欧美激情久久久久久爽电影| 好男人电影高清在线观看| 久久久水蜜桃国产精品网| 一本久久中文字幕| 日韩欧美国产在线观看| 成人国产综合亚洲| 波多野结衣高清无吗| 日本精品一区二区三区蜜桃| av视频在线观看入口| 精品无人区乱码1区二区| 亚洲 欧美一区二区三区| 精品一区二区三区视频在线观看免费| 精品国产三级普通话版| 国产高清有码在线观看视频| 成人鲁丝片一二三区免费| 99久久精品一区二区三区| 伊人久久大香线蕉亚洲五| 十八禁网站免费在线| 国产成人av教育| 久久精品亚洲精品国产色婷小说| 中文字幕人妻丝袜一区二区| 少妇的丰满在线观看| 麻豆成人av在线观看| АⅤ资源中文在线天堂| av片东京热男人的天堂| 亚洲最大成人中文| 一二三四社区在线视频社区8| 非洲黑人性xxxx精品又粗又长| 亚洲自偷自拍图片 自拍| 精品国产三级普通话版| 精品熟女少妇八av免费久了| 白带黄色成豆腐渣| 欧美一区二区精品小视频在线| 免费看美女性在线毛片视频| 国产成人av激情在线播放| 女人高潮潮喷娇喘18禁视频| 久久久久九九精品影院| 小蜜桃在线观看免费完整版高清| 九九久久精品国产亚洲av麻豆 | 亚洲精品一卡2卡三卡4卡5卡| 亚洲激情在线av| 午夜激情欧美在线| 国产精品久久久久久久电影 | 国产视频内射| 三级国产精品欧美在线观看 | 欧美日韩综合久久久久久 | 脱女人内裤的视频| 国产不卡一卡二| 午夜免费激情av| 一级毛片高清免费大全| 国产精品,欧美在线| 一进一出抽搐动态| 小说图片视频综合网站| 性色av乱码一区二区三区2| 99久久成人亚洲精品观看| 国产高潮美女av| 岛国在线免费视频观看| 小蜜桃在线观看免费完整版高清| 国产91精品成人一区二区三区| 一进一出抽搐动态| 午夜两性在线视频| 狠狠狠狠99中文字幕| 九色国产91popny在线| 最好的美女福利视频网| 成年人黄色毛片网站| 中文资源天堂在线| 国产精品一区二区三区四区久久| xxxwww97欧美| 老汉色∧v一级毛片| 搡老妇女老女人老熟妇| 精品国内亚洲2022精品成人| 国产欧美日韩一区二区三| 亚洲人成伊人成综合网2020| 999精品在线视频| 亚洲七黄色美女视频| 国内精品久久久久精免费| 色在线成人网| 麻豆成人午夜福利视频| 国产精品一区二区三区四区免费观看 | 亚洲av日韩精品久久久久久密| 少妇的丰满在线观看| 亚洲中文字幕一区二区三区有码在线看 | 啦啦啦观看免费观看视频高清| 国产野战对白在线观看| 熟女人妻精品中文字幕| 日本黄色视频三级网站网址| 91在线精品国自产拍蜜月 | 亚洲 国产 在线| 中亚洲国语对白在线视频| 看片在线看免费视频| 色噜噜av男人的天堂激情| 亚洲人成电影免费在线| 日本成人三级电影网站| 黄频高清免费视频| 亚洲av片天天在线观看| 88av欧美| 日本三级黄在线观看| 一进一出抽搐gif免费好疼| 一个人观看的视频www高清免费观看 | 人人妻,人人澡人人爽秒播| 夜夜爽天天搞| 成人永久免费在线观看视频| 久久香蕉国产精品| 欧美丝袜亚洲另类 | 亚洲一区高清亚洲精品| ponron亚洲| 中国美女看黄片| netflix在线观看网站| 丰满人妻一区二区三区视频av | 亚洲在线自拍视频| 国产精品久久久久久精品电影| 99热6这里只有精品| 国产精品久久久久久久电影 | 亚洲男人的天堂狠狠| 久久欧美精品欧美久久欧美| 精品欧美国产一区二区三| 免费看光身美女| 国产精品日韩av在线免费观看| 伦理电影免费视频| 成人三级黄色视频| e午夜精品久久久久久久| 成人特级黄色片久久久久久久| 亚洲精品中文字幕一二三四区| 丁香六月欧美| 亚洲精品色激情综合| 熟女少妇亚洲综合色aaa.| 午夜福利在线观看免费完整高清在 | 欧美在线黄色| av片东京热男人的天堂| 日韩精品青青久久久久久| 免费人成视频x8x8入口观看| 最近最新中文字幕大全电影3| 12—13女人毛片做爰片一| 99久久精品热视频| 精华霜和精华液先用哪个| 日本免费a在线| 人妻久久中文字幕网| 日韩中文字幕欧美一区二区| 色吧在线观看| 精品欧美国产一区二区三| 国产伦精品一区二区三区四那| 国产精品综合久久久久久久免费| 国产午夜精品久久久久久| 美女 人体艺术 gogo| 在线国产一区二区在线| 99re在线观看精品视频| 中国美女看黄片| 久久久精品大字幕| 2021天堂中文幕一二区在线观| 色综合站精品国产| 1024手机看黄色片| 亚洲国产欧美人成| 热99re8久久精品国产| 国产激情偷乱视频一区二区| av天堂在线播放| 免费看美女性在线毛片视频| 在线播放国产精品三级| 国产午夜福利久久久久久| 欧美性猛交黑人性爽| 少妇的丰满在线观看| 黑人巨大精品欧美一区二区mp4| 久久久久久久久久黄片| 免费在线观看亚洲国产| 超碰成人久久| 欧美午夜高清在线| 天天添夜夜摸| 国产一区二区激情短视频| 精品久久蜜臀av无| 村上凉子中文字幕在线| 成年免费大片在线观看| 日本与韩国留学比较| 亚洲欧美日韩高清专用| 老汉色∧v一级毛片| 在线观看午夜福利视频| 国产精品亚洲一级av第二区| 性色avwww在线观看| 在线十欧美十亚洲十日本专区| 舔av片在线| 日韩大尺度精品在线看网址| 深夜精品福利| 制服人妻中文乱码| 一进一出好大好爽视频| 成人18禁在线播放| 国产欧美日韩一区二区三| 国产激情久久老熟女| 国产精品久久久av美女十八| 国产69精品久久久久777片 | 国产麻豆成人av免费视频| 成年女人看的毛片在线观看| 这个男人来自地球电影免费观看| 精品不卡国产一区二区三区| 国产成人影院久久av| 国产精品98久久久久久宅男小说| 色播亚洲综合网| 熟妇人妻久久中文字幕3abv| 我要搜黄色片| 少妇熟女aⅴ在线视频| 亚洲av日韩精品久久久久久密| 免费在线观看日本一区| 十八禁网站免费在线| 久久热在线av| 亚洲国产欧洲综合997久久,| 久久久精品大字幕| 国产成人福利小说| 国产伦精品一区二区三区四那| 免费高清视频大片| 男女那种视频在线观看| 国产欧美日韩精品亚洲av| 精品久久久久久久久久免费视频| www.999成人在线观看| 午夜久久久久精精品| 国产精品久久久人人做人人爽| 老司机福利观看| 亚洲国产精品999在线| 午夜激情福利司机影院| 午夜福利在线在线| 精品一区二区三区四区五区乱码| 99国产极品粉嫩在线观看| 又大又爽又粗| 999久久久精品免费观看国产| 桃红色精品国产亚洲av| 老汉色∧v一级毛片| 真人一进一出gif抽搐免费| 国产精品1区2区在线观看.| 久久久久久久精品吃奶| 亚洲国产精品合色在线| a级毛片在线看网站| 人人妻人人看人人澡| 久久久久久大精品| 久久精品国产综合久久久| 欧美日韩中文字幕国产精品一区二区三区| 波多野结衣巨乳人妻| 午夜福利免费观看在线| 小蜜桃在线观看免费完整版高清| av在线天堂中文字幕| 国产熟女xx| 精品国产乱码久久久久久男人| 国产亚洲精品一区二区www| 噜噜噜噜噜久久久久久91| 精品久久久久久久人妻蜜臀av| 国产精品日韩av在线免费观看| 蜜桃久久精品国产亚洲av| 男人舔奶头视频| 日韩欧美精品v在线| 日本精品一区二区三区蜜桃| 久久久国产成人免费| 亚洲午夜理论影院| 国产精品一及| 成年免费大片在线观看| 网址你懂的国产日韩在线| 国产精品一区二区三区四区久久| 欧美日韩一级在线毛片| 亚洲va日本ⅴa欧美va伊人久久| 男女床上黄色一级片免费看| 又爽又黄无遮挡网站| 动漫黄色视频在线观看| 免费观看人在逋| 成人一区二区视频在线观看| 欧美在线黄色| 热99re8久久精品国产| 亚洲人成网站在线播放欧美日韩| 国产一区二区三区在线臀色熟女| 制服人妻中文乱码| 一级a爱片免费观看的视频| 后天国语完整版免费观看| 欧美不卡视频在线免费观看| 成年女人永久免费观看视频| av黄色大香蕉| 国产男靠女视频免费网站| 国产亚洲精品久久久com| 激情在线观看视频在线高清| 国产精品自产拍在线观看55亚洲| 久久热在线av| 少妇丰满av| 99久久精品国产亚洲精品| 久久香蕉精品热| 叶爱在线成人免费视频播放| 久久久精品大字幕| 日本 av在线| 老司机午夜十八禁免费视频| 久久香蕉精品热| 欧美激情在线99| 91在线观看av| 国产成年人精品一区二区| 熟女少妇亚洲综合色aaa.| 婷婷精品国产亚洲av在线| 国产精华一区二区三区| 99久久99久久久精品蜜桃| 欧美黑人欧美精品刺激| 久久久久国产一级毛片高清牌| 午夜福利高清视频| 欧美成人一区二区免费高清观看 | 国产91精品成人一区二区三区| 亚洲欧美精品综合久久99| 神马国产精品三级电影在线观看| 国产精华一区二区三区| 精品福利观看| 久久中文字幕人妻熟女| 怎么达到女性高潮| 国产精品久久久久久精品电影| 女人被狂操c到高潮| 三级毛片av免费| 免费无遮挡裸体视频| 久久中文字幕人妻熟女| 国产av麻豆久久久久久久| 美女黄网站色视频| 欧洲精品卡2卡3卡4卡5卡区| 欧美日本亚洲视频在线播放| 欧美日韩福利视频一区二区| 麻豆成人av在线观看| av视频在线观看入口| 99久久99久久久精品蜜桃| 日韩三级视频一区二区三区| 淫妇啪啪啪对白视频| 国产免费av片在线观看野外av| 成年免费大片在线观看| 日韩免费av在线播放| 日韩高清综合在线| 国产精品国产高清国产av| 欧美性猛交黑人性爽| 国产综合懂色| 国产一区二区在线观看日韩 | 中国美女看黄片| 岛国在线观看网站| 香蕉丝袜av| 成人精品一区二区免费| 国产午夜精品久久久久久| 一级毛片女人18水好多| 国产精品久久久久久精品电影| 成人三级做爰电影| 最好的美女福利视频网| 美女 人体艺术 gogo| 一区二区三区高清视频在线| 十八禁人妻一区二区| 国产精品一区二区精品视频观看| 俄罗斯特黄特色一大片| 天堂av国产一区二区熟女人妻| 欧美黄色片欧美黄色片| 亚洲精品乱码久久久v下载方式 | 色综合亚洲欧美另类图片| 老司机福利观看| 少妇人妻一区二区三区视频| 亚洲欧美激情综合另类| 亚洲 国产 在线| 一级作爱视频免费观看| 国产99白浆流出| 这个男人来自地球电影免费观看| 白带黄色成豆腐渣| 香蕉丝袜av| 欧美日韩国产亚洲二区| 最近视频中文字幕2019在线8| 天堂av国产一区二区熟女人妻| 一二三四社区在线视频社区8| 黑人欧美特级aaaaaa片| 国产蜜桃级精品一区二区三区| 成人三级做爰电影| 国产成人系列免费观看| 老司机午夜十八禁免费视频| 国产精品影院久久| x7x7x7水蜜桃| 伊人久久大香线蕉亚洲五| 亚洲成人久久爱视频| 亚洲成人免费电影在线观看| 亚洲精品久久国产高清桃花| 老司机在亚洲福利影院| 国产精品久久久久久人妻精品电影| 老司机深夜福利视频在线观看| 成在线人永久免费视频| 久久精品国产综合久久久| 久久久国产精品麻豆| 精品久久久久久久人妻蜜臀av| 变态另类丝袜制服| 人妻丰满熟妇av一区二区三区| 国产91精品成人一区二区三区| 国产人伦9x9x在线观看| 日本 av在线| 99热这里只有精品一区 | 我要搜黄色片| 一本综合久久免费| 欧美日韩乱码在线| 超碰成人久久| 精品免费久久久久久久清纯| 两性午夜刺激爽爽歪歪视频在线观看| 一个人免费在线观看电影 | 中文字幕熟女人妻在线| 少妇的逼水好多| 视频区欧美日本亚洲| 亚洲成av人片在线播放无| 成人特级av手机在线观看| 一级毛片女人18水好多| 亚洲av免费在线观看| 久久国产精品人妻蜜桃| 宅男免费午夜| 91老司机精品| 国产黄a三级三级三级人| 精品国内亚洲2022精品成人| 国产午夜精品久久久久久| 免费观看精品视频网站| 久久香蕉国产精品| 少妇的逼水好多| 国产精品av久久久久免费| 搡老熟女国产l中国老女人| 91av网站免费观看| 成人高潮视频无遮挡免费网站| 久久久久久久精品吃奶| 亚洲精品一卡2卡三卡4卡5卡| 桃红色精品国产亚洲av| 人妻夜夜爽99麻豆av| 女警被强在线播放| av天堂在线播放| www国产在线视频色| 国产精品香港三级国产av潘金莲| 色av中文字幕| 99久久精品热视频| 午夜久久久久精精品| 欧美黑人欧美精品刺激| 亚洲 欧美一区二区三区| 欧美性猛交黑人性爽| 香蕉久久夜色| 黄频高清免费视频| 成年版毛片免费区| a在线观看视频网站| 精品国产亚洲在线| 日韩有码中文字幕| 国产高清视频在线播放一区| 非洲黑人性xxxx精品又粗又长| 男女午夜视频在线观看| 欧美黄色淫秽网站| 丁香欧美五月| 成人18禁在线播放| 亚洲18禁久久av| 午夜日韩欧美国产| 狠狠狠狠99中文字幕| 亚洲欧美精品综合一区二区三区| 久久亚洲真实| 亚洲精品一卡2卡三卡4卡5卡| 亚洲五月婷婷丁香| 两个人的视频大全免费| 亚洲成人久久爱视频| 日本与韩国留学比较| 色av中文字幕| 美女高潮喷水抽搐中文字幕| 看片在线看免费视频| 日韩欧美免费精品| 亚洲专区国产一区二区| 1024手机看黄色片| 女人高潮潮喷娇喘18禁视频| 成人三级做爰电影| 国产精品,欧美在线| 可以在线观看毛片的网站| 午夜福利免费观看在线| 99国产精品一区二区三区| 亚洲aⅴ乱码一区二区在线播放| 久久国产精品影院| 亚洲欧美一区二区三区黑人| 国内精品一区二区在线观看| 国产黄色小视频在线观看| 久久国产精品影院| 一本一本综合久久| 神马国产精品三级电影在线观看| 99久国产av精品| 欧美午夜高清在线| 天堂av国产一区二区熟女人妻| 搡老妇女老女人老熟妇| 欧美日韩综合久久久久久 | 欧美黑人巨大hd| 不卡一级毛片| 免费在线观看亚洲国产| avwww免费| 丰满人妻熟妇乱又伦精品不卡| АⅤ资源中文在线天堂| 一本综合久久免费| 天堂√8在线中文| 欧美乱色亚洲激情| 国产精品av久久久久免费| 女同久久另类99精品国产91| 国产精品美女特级片免费视频播放器 | 欧美性猛交黑人性爽| 岛国在线观看网站| 十八禁人妻一区二区| 又粗又爽又猛毛片免费看| www.精华液|