精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

如何編寫簡潔代碼?(下)

開發
如果說「域冗余」、「碼尾禪」、「層錯綜」這些是代碼在溝通表達時的 偏形,那「偽修飾」、「行外話」這些就屬 走神 了,而這些貌合神離的假話更容易蠱惑人心。

作者 | 袁慎建

接上篇《??如何編寫簡潔代碼?(上)??》

代碼不講真話的直接后果是所有人被誤導了,然后做了一件錯誤的事情,不自知地將錯就錯,讓錯誤越陷越深,最后浪費寶貴的時間。可不講真話,編寫代碼的人又不是故意的,也萬萬不可上綱上線,袁帥秉著內訓師作為知識沉淀者和文化傳播者角色的原則,借助教育代碼的機會組織了一次部門內部的閑聊會,并美其名曰:Clean Code交流會。

講真話了嗎?

周五,是一個心情放松的日子,距離年會過去也快整整一周了。袁帥也趁此機會召集了團隊的幾名開發在線學習系統的小伙伴來碼聊。看起來是一次不經意的安排,其實他早有準備。

偽修飾

會議室里,袁帥開門見山:“最近跟一個北美 BP 在協商給他們大客戶團隊的骨干成員強化敏捷工程實踐,現在很多部門內訓有一套敏捷工程實踐課程。但是很有意思的是,這個BP跟我線上會議溝通時,從來不一步到位,總會在微信上再跟我發文字再解釋一遍,也不知道是我看著傻,還是她認為我癡呆。”

大家被袁帥這開場給逗樂了,拋給他好奇的目光。

“沒講清楚唄,再給你講一遍。”清揚一副若無其事的樣子。

“嗯,她擔怕開會沒講清楚,想再跟我解釋一遍,而且每次微信上的留言比她會議上講的要更明確更具體。所以,后來慢慢地我習慣在會議上忽視她提供的信息,直接看她的微信留言。”

“那你們還干嘛開會呀,不是白費時間嗎!” 萬正義直率地補充道。“可是,有時候她在后續的會議上又把之前留言的內容給更新了卻忘了再給我留言。” 袁帥表現得無辜。

“所以,你仍然按照微信留言的信息,結果誤解了真實的意思!” 清揚有搶答道。

“嗐,你還別提,我最近都沒跟活人打交道,也總是遇到這種煩惱。” 劉歡歡一臉滿腹牢騷的表情。

“是嘛,說來聽聽?”袁帥故作驚訝般試探道。

“注釋啊,最近看到一些代碼的注釋,本來不看注釋花點時間琢磨琢磨代碼,還能搞清楚代碼在做什么,可是有時想走捷徑,瞅了眼注釋,發現注釋是錯的,騙的我團團轉,被謊言帶節奏真不爽!” 歡歡打趣地補充。

“對的,這就跟我提到的那個BP類似,總習慣加一些修飾,本來初心是好的,是想解釋得更清楚,可是修飾只是一種補充信息,有時候原始信息變更了,修飾卻沒有跟著更新,不但沒有起到修飾作用,反而會誤導別人,很耽誤事兒!” 袁帥同情地回復了正義。

“說白了,還是沒有想清楚,代碼要做什么事情,然后覺得需要通過注釋去解釋一下,后面代碼改了,大概率是不會修改注釋的。” 正義總是話里充滿著正義。

“可能是使用中文注釋讀起來更順暢吧,因為代碼不太好用中文命名”。程曉娜以理解的口吻弱弱地補充了一句。

袁帥突然陷入了沉思,腦海里浮現出兩個畫面:

  • 他曾經輔導過的某些程序員,因為英語功底不好,很難將中文翻譯成恰當的英文,這在一定程度限制了他們,即便有翻譯工具的輔助。
  • 有一次為了給一個方法起名字,他跟三個10多年的工作經驗的技術Leader一起討論了10來分鐘,最后才搞定,但大家很開心。

“為什么要寫注釋啊?代碼自解釋不香嗎?只有代碼沒法自解釋的時候才用一下注釋還能接受!” 正義越發正義起來。

“可有時方法太長了,做的事情比較多,每一段相關的代碼用注釋說明一下在做什么也不是不可取的吧?”清揚見縫插針地拋了個問題。

“Talk is cheap,show me the code!”袁帥展示了準備好的代碼:

“2分鐘時間,大家先仔細閱讀這幾段段代碼,把你看到的問題和建議改進措施發到咱們的討論群里哈。”

5分鐘后,袁帥把所有人的答案匯總起來:

  • 示例1:類上的注釋完全沒必要,因為VCS工具能夠很好地做記錄。
  • 示例1:構造方法方法上的注釋是冗余的,構造器本身就能表達構造對象,參數也能表達傳入的東西。

示例2:方法的注釋的確起到了解釋作用,但是讓方法自解釋更香:更名為listByStatus后干掉注釋。

緊接著,袁帥再拋出一個復雜的示例:

大家花了3分鐘找出問題:

  • 示例3:方法太長,中間分段注釋解釋做什么的可以抽取方法,然后將注釋轉換成方法名來表達意圖。
  • 示例3:printReceipt方法內打印日期和客戶忠誠度注釋過期了,實際上代碼被注釋掉了。
  • 示例3:printReceipt方法內那個稅率寫的是15%,而實際用的10%,誤導讀者。

“注釋并不是一無是處,畢竟那誰講過 -- 「存在即合理」。注釋存在這么多年,而且很多地方咱們也看到過。” 袁帥又恢復了主持人的狀態。

“有啊,「開放API文檔」到處都是API注釋,而且還要寫好看了。”

“最近有幾段代碼實在有些實現的難言之隱,我必須通過注釋來解釋一下。”

“嗯,我剛碰到過「法律版本信息」的一些注釋,白紙黑字的注釋聲明不能少。”

“魔術代碼可以注釋一下啊,比如復雜的郵件正則表達式:

/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;

袁帥對最后這一個補充有點感興趣,趁機提了個問題:“魔術代碼除了注釋,還有更好的方式嗎?”

“引入「解釋性變量」啊,比如:emailMatcher。”清揚這次臨場發揮反應很快。

“大家怎么看待「TODO | FIXME」這種注釋呢?”清揚緊接著有拋了個問題。

“不提倡,雖然它能幫助我們在本地記錄一些代辦列表,但盡可能及時處理完這些任務,將注釋清理掉,別提交到生產上。”正義的聲音覆蓋了全場。

袁帥朝清揚和正義點了個大拇指贊,簡單做了個總結:“有一些場景需要注釋的,當我們想要添加注釋的時候,我們首先應該想想代碼能否做到自解釋?”

在收拾電腦之際,他腦海里浮現出Uncle Bob關于注釋的一句話:

“注釋不同于《辛德勒的名單》。它們不是‘純善的’。事實上,注釋充其量是一種必要的惡。”

-- Robert C.Martin

行外話

老馬(Martin Fowler)的博客上有一句話:“There are only two hard things in Computer Science: cache invalidation and naming things.”。這句話不是老馬本人講的,老馬表示很認同,袁帥也很認同,而且越來越信。

距離上一次的 Clean Code 交流會過去剛好一周,今天天氣格外晴朗,清揚饒有興致喊上袁帥去樓底下新開的小餐館炒倆菜。

兩人來到餐廳剛坐定,袁帥手機微信語音響起來,是隔壁團隊的 TL 石彪,想約他聊聊上次TDD工作坊后大家的落地情況和疑惑。

清揚伸手遞過菜單示意袁帥點個菜,他只說了個“青菜”繼續跟石彪聊了起來。清揚找了好一會也沒找到“青菜”,見袁帥聊得投入,就幫他點了個綠色的白灼生菜,還點了只清蒸桂花魚,外加兩份單人份的土雞湯和米飯。

10分鐘后,“青菜” 上來了,袁帥吃了兩口覺著不對勁:“咦,我點的是青菜啊,怎么上了個生菜呢?”

“大哥,我盡力了,菜單沒有找到“青菜”,就點了個這咯。” 清揚一臉無辜。

“哦,我們那有一種叫“上海青”的蔬菜,平時我們都叫青菜。” 袁帥說完立即意識到自己現在身在北方,這邊的叫法跟老家可能不一樣。

“哈哈,我們西安把青菜理解成綠色的蔬菜~” 清揚說著就遞過來菜單。

看到 “清炒油菜”,袁帥心里開始琢磨著:“不同地區(上下文),對同一個東西的叫法是可能不一樣的,如果切換了地區,自己還沿用原來地區的叫法,很可能造成困惑和誤解。”

“不同行業,不同領域,不同上下文,同物可不同名。你常常給我講寫代碼的時候要特別注意這一點,開發哪個行業的系統,就應該使用該行業的業務語言,有利于統一語言,交流起來效率會高很多,而且代碼跟業務相匹配,更容易理解。” 清揚猜到了袁帥在琢磨什么,替他做了一個總結。

“你們的清蒸桂花魚,請慢用!” 服務員把香氣四溢的魚端到桌上,這是袁帥小時候特別喜歡的一道菜,他開心地拿起筷子正要去夾魚尾:“咦,剛才服務員叫它清蒸桂花魚?” “對啊,桂花魚,清蒸的,營養健康,色香味俱全。”清揚麻利地回應著。

袁帥拿起菜單看了一眼,嘴里邊嘟囔邊若有所悟地點頭著:“在我老家這個菜叫「清蒸鱖魚」。”

清揚瞥了他一眼,作搖頭嘆息狀伸手去夾魚,開心地吃了起來。“小鬼厲害啊,竟然點了我最喜歡的魚,這頓飯我請了哈~” 袁帥這次快速從他的菜品命名的思緒中跳脫出來。

吃完飯回來,袁帥喊上清揚去看看隔壁石彪的團隊在做的Code Review,見到大屏幕上的代碼:

“小豹,這個FlyLine是指飛行路線嗎?” 石彪小心翼翼地問。

“嗯,是這個意思!”

“你在IDE搜一下【Route】” 只見小豹比較嫻熟地用快捷鍵定位到一個Route類:

看到這個類,小豹快速在正開著的Google翻譯框里查到【Route:航線】。

“你打開Trello卡上的【航空術語】那張卡片上的有個航空術語鏈接。你打開頁面敲關鍵字【航線】進行搜索。”石彪見小豹下意識撓著頭不知所措,就進一步給了提示。

石彪10秒鐘的指尖操作后,大屏幕上將頁面展示出來:

“小豹剛來,對這些航空行業術語不熟悉可以理解,我提前給大家分享一條我的經驗:入行說行話,既然咱們在開發航空系統,我們就要講航空行話。” 石彪刻意掃視了所有在場的小伙伴,繼續說道:“那怎么學會這些行話呢,翻譯工具是一個好助手,但有時它也會不靈,咱們團隊一直有在維護了一套專門的術語,上周我剛把它開發成Web版部署在內網服務器上了,咱們隨時可以在上面檢索術語哈。”

石彪說完,小豹立刻示意結對的小伙伴在卡片上記下了一個Action:[ 更換Flight類中引用Flyline --> Route ]。

小結

如果說「域冗余」、「碼尾禪」、「層錯綜」這些是代碼在溝通表達時的 偏形,那「偽修飾」、「行外話」這些就屬 走神 了,而這些貌合神離的假話更容易蠱惑人心。

寫代碼本沒什么大事,努力打磨這五點,時刻審視代碼,時刻自省,軟件的可理解性可提升至少90%,沒錯就是很高。

責任編輯:趙寧寧 來源: Thoughtworks洞見
相關推薦

2022-06-27 06:23:23

代碼編程

2021-04-25 11:31:45

React代碼整潔代碼的實踐

2024-01-30 08:54:05

JavaScript技巧代碼

2020-08-06 16:34:48

Python開發工具

2020-05-11 15:23:58

CQRS代碼命令

2020-10-04 13:15:37

代碼技術開發

2022-08-28 19:03:18

JavaScript編程語言開發

2022-05-10 10:28:21

JavaScript代碼

2024-06-03 11:43:55

2012-07-11 10:51:37

編程

2012-03-15 13:36:51

云計算JavaSpring框架

2010-02-05 16:49:05

編寫Android 代

2021-06-08 09:35:11

Cleaner ReaReact開發React代碼

2015-01-28 14:30:31

android代碼

2024-06-03 11:36:06

Pythonf-string

2021-03-17 08:00:59

JS語言Javascript

2010-03-12 11:07:49

Python retu

2016-02-23 11:03:03

代碼質量編寫函數

2022-06-07 09:30:35

JavaScript變量名參數

2010-02-03 13:55:51

Python 代碼
點贊
收藏

51CTO技術棧公眾號

日本高清视频在线| 日韩污视频在线观看| 日本久久久久| 亚洲一区二区三区四区五区黄| 国产伦精品一区二区三区视频黑人 | 天堂av免费看| 人妻视频一区二区三区| 日本特黄久久久高潮| 欧美成人中文字幕| 亚洲人成人无码网www国产| 香蕉久久一区| 日韩欧中文字幕| 久久久99精品视频| 精品亚洲综合| 成人av免费网站| 成人a在线视频| 少妇太紧太爽又黄又硬又爽| 99久久亚洲精品蜜臀| 日韩成人激情视频| 三级黄色片免费看| 成人mm视频在线观看| 午夜精品在线视频一区| 福利网在线观看| 加勒比一区二区三区在线| 国产高清在线精品| 国产精品视频公开费视频| www.日本精品| 国内久久精品| 久久九九全国免费精品观看| 特级西西www444人体聚色| 成人免费在线电影网| 欧美一区二区三区在线视频| 中文字幕有码av| av日韩电影| 亚洲电影在线免费观看| 久久久成人精品一区二区三区| 国产私拍精品| 91论坛在线播放| 国产精品视频免费一区二区三区| 国产精品人妻一区二区三区| 日本亚洲欧美天堂免费| 国产www精品| 免费黄色网址在线| 亚洲激情婷婷| 孩xxxx性bbbb欧美| 久久一二三四区| 欧美成人高清| 欧美另类xxx| 日本天堂中文字幕| 欧美一区不卡| 欧美丰满少妇xxxxx| 看片网站在线观看| 中文字幕av亚洲精品一部二部| 色综合伊人色综合网站| 九九热免费在线| 全球成人免费直播| 在线日韩第一页| 久久久久久久久福利| 国产一区二区三区探花 | 91丨九色丨国产在线| 91高潮大合集爽到抽搐| 精品无人区卡一卡二卡三乱码免费卡| 国产精品情侣自拍| 国产麻豆免费观看| 国产一区二区三区久久悠悠色av| 成人免费网站在线| 国产成人三级一区二区在线观看一 | 自拍偷在线精品自拍偷无码专区| 亚洲国产一区二区精品视频| 91xxx在线观看| 亚洲日本中文字幕区| 日本三日本三级少妇三级66| 久久久123| 欧美午夜精品久久久久久人妖| 亚洲成熟丰满熟妇高潮xxxxx| 丝袜美腿诱惑一区二区三区| 欧美午夜片在线观看| 日韩av一卡二卡三卡| 日韩精品中文字幕一区二区| 亚洲国内精品视频| 欧洲美熟女乱又伦| 偷偷www综合久久久久久久| 欧美人在线观看| www欧美在线| 捆绑紧缚一区二区三区视频| 91在线观看网站| 你懂的在线视频| 亚洲欧洲av一区二区三区久久| 日本国产中文字幕| 成人小电影网站| 91精品免费观看| 日韩 中文字幕| 久久国产亚洲| 国内偷自视频区视频综合| 懂色av蜜臀av粉嫩av分享吧最新章节| 玖玖精品视频| 国产经典一区二区三区 | 中文字幕亚洲国产| 精品无码人妻一区二区三| 欧美亚洲视频| 91在线免费看片| lutube成人福利在线观看| 亚洲综合激情小说| 91人人澡人人爽人人精品| 粉嫩的18在线观看极品精品| 夜夜躁日日躁狠狠久久88av | 色综合久久久久综合一本到桃花网| 亚洲欧美日韩一区二区| 亚洲精品不卡在线| 91中文字精品一区二区| 天堂中文资源在线观看| 国产精品国产精品国产专区不蜜 | 香蕉亚洲视频| 91中文字幕一区| 蜜桃成人在线视频| 一区二区三区欧美亚洲| 手机视频在线观看| 亚州国产精品| 色综合五月天导航| 91成品人影院| 久久久久久夜精品精品免费| 国产 日韩 欧美在线| 一级欧美视频| 一区二区三区在线播放欧美| 日韩欧美国产亚洲| 国产福利91精品一区| 一本一本a久久| 国产另类xxxxhd高清| 亚洲国产小视频| 久久香蕉精品视频| 国产成人丝袜美腿| 在线综合视频网站| 国产成人精品一区二区三区免费| 日韩精品福利在线| 国产精品成人av久久| 国产专区综合网| 一区一区视频| 欧美爱爱视频| 色狠狠久久aa北条麻妃| 最近中文字幕在线观看视频| 久久久久久久久久久黄色| 免费看又黄又无码的网站| 亚洲天堂av资源在线观看| 欧美成人高清视频| 国产人妖一区二区| 亚洲精品福利视频网站| www.桃色.com| 欧美在线首页| 亚洲在线www| 操你啦视频在线| 欧美一区三区四区| 青青草成人免费| 国产91在线观看| 日本aa在线观看| 国产精品xxx在线观看| 欧美激情亚洲国产| 三区在线观看| 日韩欧美精品网址| 精品无码国产污污污免费网站| 丝袜美腿亚洲综合| 神马欧美一区二区| 久久亚洲精品中文字幕| 久久精品国产v日韩v亚洲| 国产精品无码专区av免费播放| 亚洲图片激情小说| 永久看看免费大片| 亚洲大片av| 久久久久se| 精品欧美日韩精品| 日韩在线高清视频| 国产av一区二区三区精品| 亚洲一区二区成人在线观看| 999精品免费视频| 性高湖久久久久久久久| 亚欧精品在线| 青草伊人久久| 欧美最猛性xxxx| 在线免费观看黄| 日韩精品一区二区三区蜜臀| 亚洲久久在线观看| 欧美国产日韩亚洲一区| 色偷偷中文字幕| 国产精品久久久久9999高清| 手机成人在线| 9l视频自拍蝌蚪9l视频成人| 欧美在线视频播放| 麻豆传媒视频在线| 亚洲国产中文字幕在线观看| 中文字幕网址在线| 亚洲一二三区不卡| 免费网站在线高清观看| 国产成人亚洲综合色影视| 久久久一本二本三本| 99久久99视频只有精品| 国产精品免费观看高清| 99re久久| 国内伊人久久久久久网站视频| 国产精品久久久久一区二区国产| 日韩欧美国产麻豆| 黄色网址中文字幕| 亚洲一区在线观看免费观看电影高清| 最近中文字幕免费| 国产高清在线精品| 污网站免费在线| 一本综合精品| 一本色道久久88亚洲精品综合| 女厕嘘嘘一区二区在线播放 | 黑人乱码一区二区三区av| 欧洲精品一区二区| 久久久久99精品| 国产精品不卡视频| 一本色道久久综合亚洲精品图片| 国产一区二区三区免费观看| 妺妺窝人体色www在线观看| 国模大胆一区二区三区| 中文字幕一区二区三区有限公司 | 国产成人一二片| 国产女同一区二区| **在线精品| 国内精品模特av私拍在线观看| 日本高清在线观看wwwww色| 亚洲精品视频免费| 免费av网站观看| 日韩精品中文字幕一区| 一级做a爰片久久毛片16| 色哟哟国产精品| 黄色片视频网站| 一区二区三区在线播放| 国产精品国产三级国产传播| 国产午夜精品理论片a级大结局| 欧产日产国产精品98| 国产成人三级在线观看| 成人高清在线观看视频| 久久99久久99| 91精品999| 久久精品国产一区二区| wwwwww.色| 日韩av成人高清| 99视频在线免费| 久久字幕精品一区| 欧美色图另类小说| 在线亚洲免费| 成年人视频观看| 亚洲综合不卡| 国产91对白刺激露脸在线观看| 亚洲人成人一区二区三区| 岛国大片在线播放| 亚洲天堂偷拍| 国产va亚洲va在线va| 亚洲激情成人| 国产精品免费入口| 亚洲欧美久久| 国产精品久久久久9999小说| 青椒成人免费视频| 国产无色aaa| 国产精品99精品久久免费| 日本wwwxx| 成人精品视频一区二区三区| 艳妇乳肉豪妇荡乳xxx| 91在线云播放| 91久久免费视频| 欧美激情一区二区| 成人无码精品1区2区3区免费看| 亚洲欧美一区二区三区极速播放| 乱h高h女3p含苞待放| 一区二区成人在线| 国产情侣自拍av| 91福利区一区二区三区| 亚洲最大成人av| 欧美videossexotv100| 婷婷在线观看视频| 亚洲一级片在线看| 久久国产精品一区| 国内久久久精品| 欧美暴力调教| 7777精品伊久久久大香线蕉语言 | 国产另类xxxxhd高清| 91精品国产综合久久久久久久久| 在线观看视频一区二区三区 | 国产精品无码自拍| 99久久精品国产导航| 西西444www无码大胆| 国产精品久久久久9999吃药| 激情综合网五月天| 色婷婷久久一区二区三区麻豆| 亚洲天堂一二三| 精品成人佐山爱一区二区| 久久伊伊香蕉| 欧美日韩国产成人| 九九热线视频只有这里最精品| 成人亚洲激情网| 免费毛片在线不卡| 亚洲天堂第一区| 久久美女性网| 性xxxxxxxxx| 国产三级久久久| 国产在线欧美在线| 欧美日韩激情在线| 天天射天天色天天干| 久久精品国产亚洲精品2020| 日本不卡网站| 亚洲影视中文字幕| av永久不卡| 无码中文字幕色专区| 韩国精品在线观看| mm131丰满少妇人体欣赏图| 亚洲午夜在线观看视频在线| 中文字幕在线网站| 亚洲男人av电影| 成人在线免费观看黄色| 国产日韩一区在线| 亚洲春色h网| 欧美久久在线观看| 狠狠色综合日日| 国产黄色大片免费看| 欧美性黄网官网| 高h调教冰块play男男双性文| 日韩在线视频免费观看| 欧美1级2级| 久久久久久久久四区三区| 国内精品美女在线观看| 亚洲网中文字幕| 中文字幕av资源一区| 亚洲不卡在线视频| 日韩av在线一区| 91破解版在线观看| 97免费资源站| 欧美国产另类| 日本一二三四区视频| 国产精品全国免费观看高清| 伊人中文字幕在线观看 | 99免费在线视频观看| 91九色精品| 在线观看国产福利| 国产精品国产精品国产专区不蜜| 国产成人精品亚洲| 亚洲一区第一页| 电影亚洲一区| 亚洲精品乱码视频| 蜜桃免费网站一区二区三区| 日韩福利在线视频| 在线观看欧美精品| avtt亚洲| 成人综合国产精品| 一二三区不卡| 黑人巨大猛交丰满少妇| 亚洲欧美另类久久久精品| 国产精品怡红院| 久久国产精品影片| 日韩精品成人在线观看| 久久这里只有精品18| 成人免费观看男女羞羞视频| 久久精品这里有| 亚洲精品国产精品乱码不99按摩| 在线免费看h| 日韩精品久久久免费观看 | 欧美小视频在线观看| 免费在线黄色影片| 国产精品久久久久久久天堂| 日韩精品四区| 亚洲欧美一区二区三区不卡| 亚洲一区在线观看免费| 香蕉视频黄在线观看| 日韩av手机在线看| 98精品久久久久久久| 无套内谢丰满少妇中文字幕| 五月婷婷另类国产| 美州a亚洲一视本频v色道| 国产精品入口夜色视频大尺度 | 久久人人爽国产| 亚洲人成亚洲精品| www午夜视频| 一个色综合网站| 青青操视频在线| 国产区亚洲区欧美区| 欧美日韩亚洲国产精品| 国产三级视频网站| 在线不卡a资源高清| 俺来俺也去www色在线观看| 久久久久高清| 国产综合色精品一区二区三区| 男人天堂中文字幕| 一色桃子一区二区| 2020国产精品极品色在线观看| 日韩av一二三四区| 中文字幕日韩av资源站| 午夜一区在线观看| 成人激情综合网| 亚洲欧美网站| 999精品在线视频| 亚洲精品videossex少妇| 国产精成人品2018| 国产一区二区网| 成人欧美一区二区三区黑人麻豆| 凸凹人妻人人澡人人添| 成人妇女淫片aaaa视频| 国产欧美午夜| 精品国产精品国产精品| 国产视频精品va久久久久久| 日韩最新av|