??





          作為程序員,要學習很多重要的主題。算法,數(shù)據(jù)結(jié)構(gòu),編程語言,數(shù)不勝數(shù),代碼重構(gòu)也是其中必備技能之一。


          今天小編推薦一本無敵厲害的書,接下來的很長時間你將被這本書刷屏,它將出現(xiàn)在各大暢銷書排行榜內(nèi),這本書就是《重構(gòu)(第2版)》。

          它在世界范圍內(nèi)暢銷不衰,被翻譯為中、德、日、俄等眾多語言。

          這本經(jīng)典書20年后重磅升級,更新內(nèi)容超30%,更新了眾多項目案例。

          想要成為《重構(gòu)(第2版)》中文版的首批讀者,可以下滑到文末掃碼申請四,我們將從報名的讀者中選出50人,3月11日首批品鑒。同時京東
          <https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fitem.jd.com%2F12556844.html>
          、當當
          <https://yq.aliyun.com/go/articleRenderRedirect?url=http%3A%2F%2Fproduct.dangdang.com%2F26913154.html>
          、天貓
          <https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fdetail.tmall.com%2Fitem.htm%3Fspm%3Da230r.1.14.152.3b20794cG5XPUX%26amp%3Bid%3D521242106575%26amp%3Bns%3D1%26amp%3Babbucket%3D7>
          等各大書城已同步預售(點擊網(wǎng)店名稱可以直達購買)。





          《重構(gòu):改善既有代碼的設(shè)計(第2版)》作者:馬丁·福勒(Martin Fowler)??



          ??





          01




          《重構(gòu)(第2版)》必讀的四大理由




          理由一:不可撼動的江湖地位


          “重構(gòu)”這個概念來自Smalltalk圈子,沒多久就進入了其他語言陣營之中。由于重構(gòu)是框架開發(fā)中不可缺少的一部分,所以當框架開發(fā)人員討論自己的工作時,這個術(shù)語就誕生了。重構(gòu),一言以蔽之,就是在不改變外部行為的前提下,有條不紊地改善代碼。多年前,正是《重構(gòu)》原版的出版,使重構(gòu)終于從編程高手們的小圈子走出,成為眾多普通程序員日常開發(fā)工作中不可或缺的一部分。
          本書也因此成為與《設(shè)計模式》齊名的經(jīng)典著作,被譯為中、德、俄、日等眾多語言,在世界范圍內(nèi)暢銷不衰。?


          《重構(gòu)》一書自第1版問世至今,讀者的反饋甚佳,重構(gòu)的理念已經(jīng)被廣泛接納,成為編程的詞匯表中不可或缺的部分。然而,對于一本與編程相關(guān)的書而言,20年己經(jīng)太漫長,因此作者感到,是時候回頭重新修訂這本書了。
          作者幾乎重寫了全書的每一頁,但從其內(nèi)涵而言,整本書又幾乎沒有改變。重構(gòu)的精髓仍然一如既往;大部分關(guān)鍵的重構(gòu)手法也大體不變。
          作者希望這次修訂能幫助更多的讀者學會如何有效地進行重構(gòu)。

          《重構(gòu)(第2版)》英文版美亞計算機類圖書暢銷榜排名第一,中文版累計發(fā)售了11個版本,累計銷售超20萬冊,分別是英文影印版、英文評注版、精裝版、中文簡裝版等。








          ??





          美亞榜單截圖2月27日








          ??






          《重構(gòu)》凝聚了軟件開發(fā)社區(qū)專家多年摸索而獲得的寶貴經(jīng)驗,擁有不因時光流逝而磨滅的價值。今天,無論是重構(gòu)本身,業(yè)界對重構(gòu)的理解,還是開發(fā)工具對重構(gòu)的支持力度,都與本書最初出版時不可同日而語,但書中所蘊涵的意味和精華,依然值得反復咀嚼,而且往往能夠常讀常新。這本書在豆瓣評分高達9.3分。?








          ??





          理由二:世界級軟件開發(fā)大師的不朽經(jīng)典

          本書作者馬丁·福勒(Martin Fowler)
          ,世界軟件開發(fā)大師,ThoughtWorks的首席科學家。他是一位作家、演說者、咨詢師和泛軟件開發(fā)領(lǐng)域的意見領(lǐng)袖。他致力于改善企業(yè)級的軟件設(shè)計,對優(yōu)秀的設(shè)計以及支撐優(yōu)秀設(shè)計的工程實踐孜孜以求。他在重構(gòu)、面向?qū)ο蠓治鲈O(shè)計、模式、XP和UML等領(lǐng)域都有卓越貢獻。

          馬丁·福勒(Martin Fowler)





          ??









          馬丁·福勒在英格蘭的沃爾索爾長大,去了瑪麗皇后文法學校。1983年到2006年去了倫敦大學學院,獲得了電子工程和計算機科學的學士學位(ENG)。畢業(yè)后他在在Coopers&Lybrand和一家名為Ptech的小型科技公司工作了一段時間,之后于1991年成為獨立顧問。他于1994年搬到馬薩諸塞州繼續(xù)擔任獨立顧問,直到2000年加入ThoughtWorks。

          在80年代初期開始從事軟件工作,在80年代中期,他開始對面向?qū)ο箝_發(fā)的新世界
          感興趣。開始專注于將對象引入商業(yè)信息系統(tǒng),首先是與幾家公司合作,然后作為獨立顧問。在早期,這是使用Smalltalk和C
          ++,現(xiàn)在它是Java,C#和Ruby。每年他都會學到新東西,同時也發(fā)現(xiàn)過去的許多教訓仍然適用。這項工作使他在面向?qū)ο蠓治龊驮O(shè)計,UML,模式和敏捷開發(fā)方法方面發(fā)揮了主導作用。“


          馬丁·福勒已出版過七本軟件開發(fā)方面的經(jīng)典書籍。2000年3月,他成為ThoughtWorks的首席科學家。福勒同時是敏捷聯(lián)盟的成員,于2001年,同其他16名合著者一起協(xié)助創(chuàng)作了“敏捷軟件開發(fā)宣言”。


          來源于維基百科:https://zh.wikipedia.org/wiki/%E9%A9%AC%E4%B8%81%C2%B7%E7%A6%8F%E5%8B%92

          馬丁·福勒在20多年的時間里完成了多本影響深遠的著作,成為軟件開發(fā)行業(yè)的里程碑。耳熟能詳?shù)淖髌钒ā吨貥?gòu)》《分析模式》《領(lǐng)域特定語言》等經(jīng)典著作。




          理由三:20年后經(jīng)典升級,更適合當下

          重構(gòu),一言以蔽之,就是在不改變外部行為的前提下,有條不紊地改善代碼。20 多年前,正是《重構(gòu):改善既有代碼的設(shè)計》第1
          版的出版,使重構(gòu)終于從編程高手們的小圈子走出,成為眾多普通程序員日常開發(fā)工作中不可或缺的一部分。如今,Martin Fowler
          的《重構(gòu):改善既有代碼的設(shè)計》一書已經(jīng)成為全球有經(jīng)驗的程序員手中的利器,既可用來改善既有代碼的設(shè)計、提升軟件的可維護性,又可用于使既有代碼更易理解、煥發(fā)出新的活力。

          這本備受關(guān)注的第2 版在第1 版的基礎(chǔ)上做了全面修訂,反映了編程領(lǐng)域業(yè)已發(fā)生的許多變化。第2版中介紹的重構(gòu)列表更加內(nèi)聚,并用JavaScript
          語言重寫了代碼范例。此外,第2版中還新增了與函數(shù)式編程相關(guān)的重構(gòu)范例,旨在教會讀者如何在沒有類的環(huán)境下開展重構(gòu)。

          新版沿襲了第1 版的結(jié)構(gòu),依次解釋什么是重構(gòu),為什么要重構(gòu),如何通過“壞味道”識別出需要重構(gòu)的代碼,以及如何在實踐中成功實施重構(gòu)(無論用的是什么編程語言)。


          這些變化很細微,但是涉及到方方面面。變化細微是因為書的基本結(jié)構(gòu)沒有改變。書的開篇是一個開放式的例子、一個章節(jié)的原則、一個“代碼壞味道”的調(diào)查和一個測試的介紹。這本書的主體仍然是重構(gòu),原來有68個重構(gòu)示例,作者保留了其中10個,新增了17個。

          雖然書的整體結(jié)構(gòu)變化不大,但是文字的變化卻很多。每一個章節(jié)和重構(gòu)示例都幾乎是從零開始重寫,作者幾乎沒有復制粘貼舊版中的文字。

          針對內(nèi)容更新,作者Martin
          Fowler曾說:”新版重新調(diào)整重心,將重點更少地放在類上。雖然這聽起來可能就像將“提取方法”的名稱更改為“提取函數(shù)”一樣簡單,但它確實需要重新思考每個重構(gòu)的所有方面。我需要重新考慮動機,經(jīng)常需要重新設(shè)計。至少結(jié)構(gòu)需要詳細審查,通常都需要完全重寫。對此我沒有做詳細的記錄,但我覺得引用一個相對簡單的舊的重構(gòu),就要重新考慮兩個重構(gòu)?!?br>



          理由四:眾多技術(shù)大咖鼎力推薦


          本書譯者熊節(jié)老師,在IT行業(yè)已經(jīng)打拼了18年,在金融、零售、政府、電信、制造業(yè)等行業(yè)的信息化建設(shè)方面有著豐富經(jīng)驗,是中國IT業(yè)敏捷浪潮的領(lǐng)軍人物。本書得到韓磊、霍炬、霍泰穩(wěn)、蔣濤、劉江、喬梁、徐昊、閻華、余晟、楊衛(wèi)華(Tim
          Yang)、陰明、鄭曄、莊表偉等業(yè)內(nèi)大咖聯(lián)袂推薦。

          下滑看看他們怎么說:



          過去20年,《重構(gòu)》一直是我案頭常備的圖書。每次重讀,仍有感悟。對我而言,《重構(gòu)》的意義不只在于指導代碼重構(gòu),更在于讓人從一開始就知道什么是好的代碼,并且盡量寫出沒有“壞味道”的代碼。Martin
          Fowler這次對本書進行的重構(gòu),體現(xiàn)了近年來編程領(lǐng)域的一些思潮變化??磥?,既有設(shè)計,永遠有改進空間。




          ——韓磊,《代碼整潔之道》譯者





          重構(gòu)早就成了軟件開發(fā)從業(yè)者本能的一部分,每個IDE都內(nèi)置了重構(gòu)功能,每個程序員都定期重構(gòu)自己的代碼。技能上通常不再是問題,但是相對于當年第1版的讀者,現(xiàn)在的程序員對于重構(gòu)這個思想從何而來以及各種細節(jié)反而更陌生,這時候就更值得重新讀一下這本書了。

          ——霍炬,PRESS.one CTO




          有人說Martin
          Fowler改變了人類開發(fā)軟件的模式,這一點也不過分,從《模式分析》《UML精粹》《領(lǐng)域特定語言》,到這本《重構(gòu)》新版可以看得出來,他的每一本書都是軟件開發(fā)人員必備的案頭讀物。此前他參與的“敏捷宣言”,更是引領(lǐng)了整個行業(yè)對敏捷開發(fā)的認識,一直到現(xiàn)在。Martin
          Fowler是我們QCon全球軟件開發(fā)大會進入中國時的第一屆講師,也是在那次會議上,他讓國內(nèi)的技術(shù)社區(qū)領(lǐng)略了國際領(lǐng)先的開發(fā)模式,從此“敏捷”二字開始風行國內(nèi)IT領(lǐng)域。

          今年是QCon進入中國的第十個年頭,我特別開心看到Martin
          Fowler又重寫《重構(gòu)》這本影響深遠的書,他幾乎完全替換了書中所引用的模式案例,并且基于現(xiàn)在用戶的習慣,采用了JavaScript語言來做說明語言。數(shù)十年來他始終保持對技術(shù)的關(guān)注,對創(chuàng)新的熱情,樂此不疲,這是Martin最令人敬佩的地方,也是非常值得我們每一個技術(shù)人學習的地方。

          ——霍泰穩(wěn),極客邦科技、InfoQ中國創(chuàng)始人兼CEO





          當今軟件開發(fā)的速度越來越快,帶來的技術(shù)債也越來越多,我從CSDN自身的網(wǎng)站系統(tǒng)開發(fā)中充分認識到重構(gòu)的重要性——如果我們的程序員能理解和掌握重構(gòu)的原則和方法,我們的系統(tǒng)就不會有這么多沉重的債務(wù)。真正本質(zhì)的東西是不變的,《重構(gòu)》在出版20年后推出了第2版,再次證明:越本質(zhì)的越長久,也越重要。衷心期待更多的新一代開發(fā)者能從這本書吸收營養(yǎng),開發(fā)出好味道的系統(tǒng)。

          ——蔣濤,CSDN創(chuàng)始人、董事長





          最早看到本書第1版的英文原版并決定引進國內(nèi),算起來已經(jīng)是20年前的事了。雖然時間是最強大的重構(gòu)工具,連書里的示例語言都從Java變成JavaScript了,但書中的理念和實踐的價值并沒有隨時間流逝。這充分證明,即使在日新月異的IT技術(shù)世界里,不變的東西其實還是有的,這種書才是真正的經(jīng)典,是技術(shù)人員應該優(yōu)先研讀并一讀再讀的。

          ——劉江,美團技術(shù)學院院長





          “對于軟件工程師來說,重構(gòu),并不是額外的工作,它就是編碼本身?!敝钡轿易x過《重構(gòu)》,并經(jīng)過練習,才真正理解到這一點。真希望自己在20多年前寫第一個軟件時,就能讀到這本書,從而能節(jié)省出大量調(diào)試或重復研究代碼的時間。20年過去了,《重構(gòu)》這本書也根據(jù)當前軟件設(shè)計及相關(guān)工具的發(fā)展進行了一部分修訂,更加貼近當前的軟件開發(fā)者。希望更多的軟件工程師能夠應用這一技術(shù)節(jié)省出更多的時間。

          ——喬梁,騰訊高級管理顧問、《持續(xù)交付2.0》作者





          重構(gòu)是一項被低估了的技術(shù)能力。說起來,重構(gòu)就是“不改變外在行為,而提高代碼質(zhì)量”這么簡簡單單的一句話,但其帶來的影響卻非常深遠:它使我們在解決問題時可以放心地“先做對,再做好”——這種思路本身就可以極大地簡化問題;它使我們消除無謂的意氣之爭——“所謂好,就是更少的壞味道”。我由衷地認為,切實地讀懂了《重構(gòu)》的程序員,在能力上都會獲得一個數(shù)量級的提升。

          ——徐昊,ThoughtWorks中國區(qū)技術(shù)總監(jiān)





          當我還是編程菜鳥,想寫出漂亮的代碼而不得門道的時候,《重構(gòu)》這本書就告訴了我,其實高手的代碼也不是一次書就的,只要按這本書里的方法去做,誰都能把代碼寫得那么好;當我還是職場新人,沒來得及寫出太多垃圾代碼的時候,這本書就教會了我,應該去追求編寫人能夠讀懂的而不是僅機器能夠讀懂的代碼。多年以后的某時某刻,當你編碼自信而敏捷,因代碼清晰而受人尊重時,你會慶幸讀過這本書,你也會有些遺憾,應該再早一點去讀這本書。無論過去了多少年,這本書,一直值得推薦。

          ——閻華,京東7FRESH架構(gòu)師




          在大獲成功的《重構(gòu)》第1版里,Martin
          Fowler傳達的核心理念是:代碼會隨時間流逝而爛掉。寫得再好的程序代碼,若是發(fā)布了就一直保持原樣,照樣會風化、破碎乃至分崩離析。這是客觀規(guī)律,避免這種命運的唯一出路是持續(xù)重構(gòu)。要想成為高素質(zhì)的軟件工程師,必須認識這一點。

          20年之后,Martin
          Fowler用現(xiàn)身說法證明,經(jīng)典的《重構(gòu)》也會變得不合時宜,也需要重構(gòu)。如今,不但講解語言從Java改成了JavaScript,原來的重構(gòu)示例也做了很多調(diào)整,新增了15個示例,更重要的是,新版示例不再那么“面向?qū)ο蟆保瑧敃斋@更廣泛的讀者群。

          軟件不死,重構(gòu)不歇。

          ——余晟,《代碼整潔之道:程序員的職業(yè)素養(yǎng)》譯者





          隨著軟件項目日積月累,系統(tǒng)維護成本變得越來越高昂是互聯(lián)網(wǎng)團隊共同面臨的問題。用戶在使用互聯(lián)網(wǎng)系統(tǒng)的過程中,遇到的各類運行錯誤或者不可訪問故障,以及開發(fā)團隊面臨的歷史系統(tǒng)不可維護問題,很多時候是代碼初次開發(fā)過程中各種細小的不規(guī)范引起的。持續(xù)優(yōu)化已有代碼是維護系統(tǒng)生命力最好的方法。《重構(gòu)》是我推薦團隊必讀的技術(shù)圖書之一。

          ——楊衛(wèi)華(Tim Yang),微博研發(fā)副總經(jīng)理





          軟件行業(yè)已經(jīng)高速發(fā)展數(shù)十年,就好似一個嶄新的城市,從一個個村屋矮房到高樓林立。而你的代碼庫就好比你手下的一個房間、一幢平房、一條街道、一片社區(qū)乃至是一座摩天大樓。作為一本經(jīng)典的軟件開發(fā)書籍,《重構(gòu)》告訴我們的不僅僅是如何推倒重建、清理、裝修,而是像一個規(guī)劃師一樣從目的、成本、手段、價值等綜合維度來思考重構(gòu)的意義。在開發(fā)業(yè)務(wù)的同時,《重構(gòu)》常伴我左右,警醒我如何寫出更有價值的軟件。

          ——陰明,掘金社區(qū)創(chuàng)始人




          重構(gòu),是一個優(yōu)秀程序員的基本功,因為沒人能保證其代碼不隨時間腐化,而重構(gòu)會讓代碼重新煥發(fā)活力。整個軟件行業(yè)對重構(gòu)的認知始于Martin
          Fowler的《重構(gòu)》,這本書讓人們知道了“代碼的壞味道”,見識到了“小步前行”的威力。時隔20年,Martin
          Fowler重新執(zhí)筆改寫《重構(gòu)》,20年間的思維變遷就體現(xiàn)在這本書里,在第1版中,我們看到的是當時方興未艾的面向?qū)ο?,而?版則透露出函數(shù)式編程的影響。如果說有什么程序員進階秘笈,那就是不要錯過Martin
          Fowler的任何一部著作,更何況是已經(jīng)由時間證明過的重要著作《重構(gòu)》的新版!

          ——鄭曄,火幣網(wǎng)首席架構(gòu)師




          如果看完本書,就興沖沖地想要找一些代碼來重構(gòu),那你可能就陷入某種“自嗨”之中了。


          了解本書中列出的那些壞味道,不僅僅可以發(fā)現(xiàn)代碼中的那些壞味道,更可以鞭策自己以及整個團隊:在一開始的時候,就不寫或者少些那種味道很壞的代碼。還應該激勵自己,深入地理解架構(gòu)、理解業(yè)務(wù)、理解需求,減少因設(shè)計失誤而導致徒勞無益地反復重構(gòu)。

          重構(gòu)也是有成本的,所以應該思考如何降低重構(gòu)的成本。我推薦每一個程序員都來學習“重構(gòu)”這門手藝。因為學習《重構(gòu)》,是為了減少“重構(gòu)”!

          ——莊表偉,開源社理事、執(zhí)行長,華為云DevCloud高級產(chǎn)品經(jīng)理

          總之,這部經(jīng)典,用方方面面的實力,等著征服你。




          02




          《重構(gòu)(第2版)》如何讀?




          本書是一本為專業(yè)程序員編寫的重構(gòu)指南。目的是告訴你如何以一種可控且高效的方式進行重構(gòu)。你將學會如何有條不紊地改進程序結(jié)構(gòu),而且不會引入錯誤,
          這就是正確的重構(gòu)方式。

          本書的目標讀者是專業(yè)程序員,也就是那些以編寫軟件為生的人。書中的范例和討論,涉及大量需要詳細閱讀和理解的代碼。這些例子都用JavaScript寫成,
          不過這些重構(gòu)手法應該適用于大部分編程語言。為了理解書中的內(nèi)容,讀者需要有一定的編程經(jīng)驗,但需要的知識并不多。


          盡管本書的關(guān)注對象是代碼,但重構(gòu)對于系統(tǒng)設(shè)計也有巨大影響。資深設(shè)計師和架構(gòu)師也很有必要了解重構(gòu)原理,并在自己的項目中運用重構(gòu)技術(shù)。最好是由有威望的、經(jīng)驗豐富的開發(fā)人員來引入重構(gòu)技術(shù),因為這樣的人最能夠透徹理解重構(gòu)
          背后的原理,并根據(jù)情況加以調(diào)整,使之適用于特定工作領(lǐng)域。如果你使用的不是
          JavaScript而是其他編程語言,這一點尤其重要,因為你必須把將書中給出的范例用其他編程語言改寫。

          如果你的時間緊張,如何能夠在不通讀全書的情況下充分用好它?

          ■如果你想知道重構(gòu)是什么,請閱讀第1章,其中的示例會讓你弄清楚重構(gòu)的過程。

          ■如果你想知道為什么應該重構(gòu),請閱讀前兩章,它們會告訴你重構(gòu)是什么以及為什么應該重構(gòu)。

          ■如果你想知道該在什么地方重構(gòu),請閱讀第3章,它會告訴你一些代碼特征,這些特征指出“這里需要重構(gòu)”。

          ■如果你想著手進行重構(gòu),請完整閱讀前四章,然后選擇性地閱讀重構(gòu)名錄。
          ?一開始只需概略瀏覽列表,看看其中有些什么,不必理解所有細節(jié)。一旦真正需要實施某個重構(gòu)手法,再詳細閱讀它,從中獲取幫助。列表部分是供查
          閱的參考性內(nèi)容,你不必一次就把它全部讀完。

          ■從第5章往后的篇幅就是本書的核心部分——重構(gòu)名錄。盡管不能說是一份巨細靡遺的列表,卻足以覆蓋大多數(shù)開發(fā)者可能用到的關(guān)鍵重構(gòu)手法。
          作者曾說:”這份重構(gòu)名錄的源頭是20世紀90年代后期我開始學習重構(gòu)時的筆記,直到今天我仍然不時查閱這些筆記,作為對我不甚可靠的記憶力的補充。
          每當我想做點什么——例如拆分階段 (154)——的時候,這份列表就會提醒我如何一步一步安全前進。我希望這是值得你曰后一再回顧的部分?!?br>

          給形形色色的重構(gòu)手法命名是編寫本書的重要部分。合適的詞匯能幫助我們彼此溝通。當一名開發(fā)者向另一名開發(fā)者提出建議,將一段代碼提取成為一個函數(shù),或者將計算邏輯拆分成幾個階段,雙方都能理解提煉函數(shù)(106)和拆分階段(154)是什么意思。
          這份詞匯表也能幫助開發(fā)者選擇自動化的重構(gòu)手法。




          03




          如何成為《重構(gòu)(第2版)》首批讀者?

          說了這么多,是不是特別想成為《重構(gòu)(第2版)》中文版的首批讀者?





          ??





          下面一定要仔細閱讀哦~

          【活動詳情】我們希望在它和讀者朋友們正式見面之前,組織一次特別的讀書分享活動。尋找首批《重構(gòu)(第2版)》的有緣人。

          只需要掃描海報上的二維碼,回答幾個簡單的問題,就可以參與到我們的活動中來。我們會從所有參與者中,篩選50位搶讀人
          ,發(fā)送《重構(gòu)(第2版)》的專屬迷你電子書,并邀請你加入第一批《重構(gòu)(第2版)》讀書會。

          什么是【專屬迷你電子書】?迷你電子書節(jié)選自《重構(gòu)(第2版)》的12個章節(jié),內(nèi)容為重構(gòu)的經(jīng)典案例部分,單本厚度80頁左右,首季限量50冊,閱讀與收藏價值兼?zhèn)洹?br>

          你只需要在讀完我們?yōu)槟憔x《重構(gòu)(第2版)》迷你電子書后,在豆瓣本書頁面(也可掃描下方二維碼)下發(fā)布150字以上的書評,活動結(jié)束后(3月20日12點為書評最后截止時間),
          我們將評選10個優(yōu)秀書評贈送《重構(gòu)(第2版)》精裝版紙書一本。


          ??





          異步君,和《重構(gòu)(第2版)》,在這里等你哦!

          ?










          - END -







          異步圖書

          聊聊圖書背后的故事


          ??

          友情鏈接
          ioDraw流程圖
          API參考文檔
          OK工具箱
          云服務(wù)器優(yōu)惠
          阿里云優(yōu)惠券
          騰訊云優(yōu)惠券
          京東云優(yōu)惠券
          站點信息
          問題反饋
          郵箱:[email protected]
          QQ群:637538335
          關(guān)注微信

                成人做爱网站av 九九综合九九 | 日韩无码高清一区二区 | 最新国产大屌 | 五月天开心激情综合网 | 天天爽夜夜躁夜夜爽 |